演算法專項—新手村

Gsupl.落浅~發表於2024-08-30

一:python輸入輸出

1、python 中使用print函式輸出語句;預設print輸出會列印回車;在python中雙引號和單引號的作用是相同的!

print("gsupl")
print("gsupl","yyds",sep='****')#用****分割
print("gsupl"+"yyds")#使用+進行拼接
print("guspl"*10)#輸出10次
print("gsupl",end='')#取消預設的回車

二:python基本運算

1、切記在python中不同型別之間的資料不能直接進行運算;需要轉化為同一型別的資料進行運算;

eg:input()輸入的資料型別為str;如果需要進行運算;需要進行型別轉化

/ #除法
% #取餘
** #次方運算
a in b #判斷a是否在b裡面
a not in b #反之

三:python列表

1、列表的格式

#變數名稱=["元素1","元素2","列表1","元素4"]
#元素型別是不受限制的,元素就是資料
eg:name_list=["wo","xi","huan","ni","520",[1,2,3]]
#定義空變數  變數名稱=[]  變數名稱=list()

2、列表的索引

name_list=["tom","kali","rose",[1,2,3]]
可以透過索引取出對應位置的元素,從左向右從0開始,從右向左從-1開始
print(name_list[0])#結果為tom
print(name_list[-1])#結果是[1,2,3]
#巢狀列表的下的索引
print(name_list[-1][-1])#結果是3

3、列表的常用方法

(1)len() 計算長度

name_list=["tom","kali","rose",[1,2,3]]   
print(len(name_list))#結果為4

(2)查詢某元素的下標 index()方法

name_list=["tom","kali","rose",[1,2,3]]   
A=name_list.index("tom") 
print(f"tom在列表中的下標索引為{A})#結果為0

(3)修改特定位置的元素值

name_list=["tom","kali","rose",[1,2,3]]
name_list[0]="yy"#將tom修改為yy
name-list[0][2]=[11,22,33]#將tom,kali,rose修改為11,22,33

(4)在指定的下標位置插入元素 ,insert()方法

name_list=["tom","kali","rose",[1,2,3]]   
name_list.insert(1,"yy")#在kali後面插入yy元素

(5)在列表末尾追加元素,append()方法

name_list=["tom","kali","rose",[1,2,3]]   
name_list.append("yy")#在[1,2,3]後面新增元素yy

(6)在列表末尾追加一個列表,extend()方法

name_list=["tom","kali","rose",[1,2,3]]   
name_list1=["toms","kalis","roses",[1,2,3s]]   
name_list.extend(name_list1)#結果就是將name-list1的元素新增到name_list中

(7)刪除列表中元素的刪除 del關鍵字方法 pop()方法 remove()方法

A=["tom","kali","rose",[1,2,3]]
del A[0]#刪除了tom 
A.pop(0)#刪除了tom並且取出了tom,並且可以賦值給變數
A.remove("tom")#透過名稱進行刪除,刪除相同名稱的第一個元素
A.clear()#清空A整個字典

(8)統計某個元素在列表中的數量count()方法

A=["tom","kali","rose","kali","kali",[1,2,3]]
b=A.count(kali)#kali在A中出現的次數

(9)給列表中的元素進行從小到大排序sort()方法和倒置排序reversed()方法

A=["tom","kali","rose","kali","kali",[1,2,3]]
A.sort()#給列表進行大小排序#使用sort方法時必須列表元素都是數字才可以
A.reversed()#進行倒置排序

四:python字串

1、在python中字串和其他語言一樣

(1)字串的替換

#透過下標索引取出相應的字元
str='gsupl'
print(str[0])
print(str[-1])
print(str[:2])#從頭開始取到索引為2
print(str[2:])#從索引2開始取剩下全部的
print(str(::2))#步長為2;結果為 gup
print(str(::-1))#反轉;相當於reversed()
#常見方法
str.count("g")#統計g出現的次數
len(str)#計算字串的長度
str.replace("gsupl","admin")#替換字串

(2)字串的分割.split()方法

str="gsupl"
str.split("1")#將字串以1進行分割;返回結果是列表list

(3).strip()去除空格

(4)遍歷

str="gsupl"
for i in str:
    print(i)

五:python元組

1、元組的定義

(1)元組不可以修改資料,但是可以修改裡面巢狀的列表或者元組

2、元組的常用方法

(1)透過下標索引輸出元素

a=(1,2,3,4,5,6,7,8,9)  
print(a[0])#結果為1

2,由於元組不可修改,所以不能增刪

a=(1,2,3,4,5,6,7,8,9) 

a.index(3)#檢視3元素的下標索引
a.count(2)#檢視2在元組中的出現的次數
len(a)#結果是9
print(a[3:5])

六:python字典

1、字典的定義

字典容器中資料的存放形式是透過鍵值對;透過key找到對應的value;在進行查詢修改和替換的時候都是用key進行操作

2、字典的常用方法

(1)在字典中獲取資料,不能透過下標索引,只能透過key找到value

my_dict={"zbx":"122","zqw":"123"}
a=my_dict["zbx"]#透過key(zbx)去獲取它對應的value的值

(2)字典的巢狀使用(字典中的key和value)是任意資料型別(key不可為字典)

my_dit={"aa":{"語文":"66","數學":"99"}}
my_dit["aa"]["語文"]#取到了aa的語文成績為66

(3)新增字典的元素(如果key存在,就修改,如果沒有就新增)

my_dict={"zbx":"122","zqw":"123"}
my_dict["zbx":"221"]#修改zbx對應的value值,輸出為221
my_dict["zyy":"122"]#新增元素

(4)刪除元素 pop()方法

my_dict={"zbx":"122","zqw":"123"}
my_dict.pop("zbx")#刪除zbx元素
my_dict.clear()#清空字典
my.keys()#獲取字典的全部key
my_value()#獲取全部的value
my_items()#獲取全部的鍵值對

七:python集合

1、集合的定義

(1)集合不支援重複的元素

my_set={"aaa","bbb","ccc","ddd"}
#空集合的定義,不允許重複,內容是無序

2、集合常用的使用方法

(1)由於集合是無序的,所以不支援下標索引查詢元素

(2)新增新元素 add()方法

my_set={"aaa","bbb","ccc","ddd"}
my_set.add("eee")#新增元素"eee",如果新增相同的元素,會自動去重
#add()方法只能用於集合,用於列表會出錯

(3)刪除元素 remove()方法 pop()方法 clear()方法

my_set=["aaa","bbb","ccc","ddd"]
my_set.remove("aaa")
print(my_set)
#my_set.pop()隨機取出一個元素
my_set.clear()#清空集合
set1={1,2,3}
set2={1,5,6}
set3=set1.difference(set2)#輸出結果為2,3,有點類似於離散數學的差集
set1.difference_update(set2)#消除和set2內相同的元素,set1發生變化,set2不發生變化

(5)兩個集合的合併(自動去重)union()

set1={1,2,3}
set2={1,5,6}
set3=set1.union(set2)#結果是1,2,3,5,6#會自動去重
len(sat1)#統計集合set1的元素數量

八:python 迴圈

1、以一個簡單的示例;注意;break和continue的區別

(1)break:遇到break退出迴圈

(2)continue:遇到continue跳出當前迴圈;進入下一次迴圈

import random
all_choices = ['剪刀', '石頭', '布']
win_dict = [('剪刀', '布'), ('石頭', '剪刀'), ('布', '石頭')]
data1=0
data2=0
count=3
while count:
    player_choice = input("請出拳(剪刀/石頭/布): ")
    computer_choice = random.choice(all_choices)
    print("電腦出的是", computer_choice)
    print("玩家出的是", player_choice)
    if player_choice == computer_choice:
        print("平局")
    elif ['player_choice','computer_choice'] in win_dict:
        print("電腦贏")
        data1+=1
    else:
        print("玩家贏")
        data2+=1
    count-=1
if data1>data2:
    print("最終結果為電腦勝利",end='')
else:
    print("最終結果為玩家勝利",end='')

九:python檔案操作

1、開啟檔案


#開啟檔案的兩種方式
f=open("檔名/檔案路徑","要進行的操作",encoding="utf-8")
#其中utf-8可以省略不寫
with open("檔名/檔案路徑","要進行的操作",encoding="utf-8") as f:
#這兩種的區別,第一種需要進行手動關閉檔案,裡面沒有內建關閉f.close
第二種內建關閉,不需要手動關閉

2,檔案相應的操作

(1)檔案的讀操作a(在檔案讀模式中,如果檔案不存在,則會發生異常)

#read()讀取檔案中全部的內容
#readlines()讀取檔案中的全部內容並以列表的形式輸出
#readline()是將檔案內容一行一行的讀取
#檔案讀取操作中從在指標的問題,這裡需要注意以下
with open("1.txt","r") as f:
  print(f.read())
  print(f.readlines())
  print(f.readline())

(2)檔案的寫操作w(如果檔案不存在,在寫模式中會自動建立這個檔案,不會出現讀操作中異常)

#在檔案寫操作中,需要注意的是,寫入內容後不能直接檢視檔案中的內容,需要將檔案關閉,然後重新開啟,換到讀操作才可以檢視檔案裡的內容
with open("1.txt","w") as f:
    f.write("我喜歡你")
with open("1.txt","r") as f:
    print(f.readlines())#輸出的內容是"我喜歡你”

(3)檔案的追加操作a(在原有的基礎上追加內容)

#檔案的w,是清除原來的內容重新寫入,而檔案的a是在原有的內容上進行追加操作
with open("1.txt","w") as f:
    f.write("我喜歡你")
with open("1.txt","r") as f:
    print(f.readlines())
with open("1.txt","a") as f:
    f.write("我也喜歡你")
with open("1.txt","r") as f:
    print(f.readlines())

十:python異常處理

1、python異常捕獲

try:
    with open("2.txt","r") as f:
        print(f.readlines())
except:
    print("存在異常,2.txt檔案不存在")
else:
    print("異常不存在,繼續讀取檔案中的內容")
finally:
    print("無論檔案存不存在,我都要執行這個命令")

十一:python函式定義

十二:python 呼叫庫

(1)from ... import ... as f

from time import sleep#從time模組中呼叫sleep 函式
from time import sleep as f #把sleep名字變為f,出現函式名字太長是可以用到
print("開始")
sleep(2)
#f(2)相當於sleep()
print("結束")

(2)import ...

#使用import直接呼叫模組
#可以按ctrl檢視模組time具體詳情
import time
print("開始")
time.sleep(2)
print("結束")

(3)第三方包下載方法

1,透過python裡面的pip程式進行安裝

#開啟cmd命令框
#下載命令 pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/
#解除安裝命令 pip uninstall nump
#檢視下載的模組或者包 pip list
#更新pip pip --outdated
#檢視pip的安裝位置 where pip

2,透過pycharm進行安裝第三方軟體包

相關文章