python迴圈與基本資料型別內建方法
阿新 • • 發佈:2022-03-08
目錄
今天又是充滿希望的一天呢
今天又是充滿希望的一天呢
一.python迴圈
1.wuile與else連用
當while沒有被關鍵'break'主動結束的情況下 正常結束迴圈體程式碼之後會執行else的子程式碼 """ while 條件:迴圈體程式碼 else 條件:迴圈體程式碼正常執行結束 則會執行該行子程式碼塊 """ count = 1 # 計數 while count < 10: # 迴圈9次 if count == 4: # 到3結束因為4-1 break #結束本層程式碼 print(count) # count += 1 else: print('gg') # 以上條件不成立該條子程式碼執行 """ 結果: 1 2 3 """
2.死迴圈
注:死迴圈有些時候會極度影響電腦的效能 甚至會造成檔案損壞
但是往往通常使用的電腦會有這種保護機制 自動關機等
count = 10
while True:
count += 1
print(count)
"""
結果是 10+1+1+1+1 無線迴圈
"""
3while的鑲嵌
flag = True # 伏爾值 while flag: # 迴圈 username = input('username>>>:') # 使用者輸入 password = input('password>>>:') # 使用者輸入 if username == 'jason' and password == '123': # 判斷成立的話執行該行子程式碼 print('登入成功') while flag: # 巢狀 迴圈 伏爾值為成立 cmd = input('請輸入您的指令>>>:') # 輸入使用者名稱 if cmd == 'q': # 判斷成立執行該行子程式碼 print('下次光臨') # 子程式碼 flag = False # 迴圈 伏爾值true 轉換為 false 可以變為不可以 print('正在執行您的指令:%s' % cmd) # 迴圈 判定不可以再次迴圈 使用者名稱輸入 else: # 以上條件都不成立執行該行子程式碼 print("使用者名稱或密碼錯誤") # 子程式碼
二.for迴圈
注:for迴圈更為簡單 使用頻率更高一般涉及到迴圈取值的時候都會考慮用for
"""
for的語法結構:for 變數名 in for 迴圈物件:#字串符, 列表, 字典, 元組, 集合。
for 迴圈每次執行都會給迴圈內的元素都賦一個變數名
變數名都應該做到:見明知意.
常見的變數名有 i, j, k, v, num, item 等等
"""
1.fuo和whlie迴圈
# 列表 name_list = ['jason', 'kevin', 'tony', 'tank', 'oscar'] count = 0 # 計數 while count < 5: # 迴圈5次 print(name_list[count]) # 提取出變數值 count += 1 # 迴圈增量賦值 for迴圈 # 列表 name_list = ['jason', 'kevin', 'tony', 'tank', 'oscar'] count = 0 # 計數 for name in name_list: # 分別給列表中資料賦值變數名 print(name) # 執行 """ 'jason', 'kevin', 'tony', 'tank', 'oscar' 兩個迴圈的結果都是相同的 """
2.迴圈字串
依次取出每一個字元
for i in 'hello world': # 給後邊字串賦值變數名i
print(i) # 執行 i
"""
結果:h o l l o w o r l d
"""
3.迴圈字元
迴圈字典只能獲取到key value無法直接獲取
userinfo_dict = {'username': "jason", 'age': 18, 'gender': 'male'}
for i in userinfo_dict: #給後邊字典賦值變數名i
print(i) # 執行
"""
結果:username age gender
"""
4.迴圈元祖
for i in (11, 22, 33, 44, 55): #給後邊字串賦值變數名i
print(i) # 執行
"""
結果:11 22 33 44 55
"""
5.迴圈元組
for i in (11, 22, 33, 44, 55): # 給元組中的資料賦值變數名
print(i) # 執行
6.迴圈集合
注:字典內部和集合內部元素都是無序的 因為在pucharm字典用的最多所以有優化
for i in {11, 22, 33, 44, 55, 66}: # 括號內元素賦值變數名
print(i) # 執行
"""
結果:33 66 55 11 22 44
"""
三.range關鍵字
range方法在python2直譯器和python直譯器是有區分的:
在python2中range是直接產生一個列表 元素很多的情況下比較佔用空間
在python2中有一個xrange 其實就是python3裡面的range
在python3中range相當於哆啦A夢的口袋 不佔空間但是可以取出很多資料
在python3中就只有一個range了
在whlie迴圈中
while count < 101:
print(count)
count += 1
在for迴圈中:
for i in range(101): # 從0開始到100結束的資料集 顧頭不顧尾
print(i) #執行
"""
結果都是0 - 100
for迴圈從0開始到100結束的資料集 顧頭不顧尾
range其實是個迭代器用於產生資料 節省空間
"""
# 用法1 括號內只寫一個數字 預設從0開始 顧頭不顧尾
for i in range(10):
print(i)
# 用法2 括號內寫兩個數字 自定義起始位置 顧頭不顧尾
for i in range(1, 10):
print(i)
# 用法3 括號內寫三個數字 第三個數字表示的是等差數列的差值 預設情況下是1
for i in range(1, 10, 2):
print(i)
"""
結果分別為:0-9
1-9 和1 3 5 7 9
"""
四.for迴圈補充
#for+break
break結束本層for迴圈
#for+continue
continue結束本層for迴圈後直接開始下次以for迴圈
for+else
for迴圈正常結束之後執行else子程式碼
注:與while一致
五.如何檢視資料型別內建方法
可以藉助於程式設計軟體的自動提示 採用句點符快速檢視
六.資料型別的內建方法
1.int整型
1.1整型型別轉換
age = int(input('123'))
將int整型執行後結果賦值變數給age
"""
int整型方式只能轉換純數字的子串符
"""
#也可以將十進位制轉換為其他進位制
print(bin(100)) # 0b1100100 二進位制(0b開頭)
print(oct(100)) # 0o144 八進位制(0o開頭)
print(hex(100)) # 0x64 十六機制(0x開頭)
#也可以將其他機制轉換為十進位制
print(int('0b1100100', 2))
print(int('0o144', 8))
print(int('0x64', 16))
2.float浮點型
1.浮點型轉換
res = float('11.11')
print(res, type(res))
"""
float浮點型方式只能轉換字串內小數或者多為小數
"""
3.str字串
str字串可以轉所有基本型別的轉換
print(str(11), type(str(11)))
print(str(11.11), type(str(11.11)))
print(str([1, 2, 3, 4]), type(str([1, 2, 3, 4])))
print(str({'name': 'jason'}), type(str({'name': 'jason'})))
print(str((1, 2, 3, 4)), type(str((1, 2, 3, 4))))
print(str({1, 2, 3, 4}), type(str({1, 2, 3, 4})))
print(str(True), type(str(True)))
七.字串內用常操作
s1 = 'hello world'
1.索引取值
print(s1[2])#提取(l)
2.切片操作
print(s1[6])#提取(wo)顧頭不顧尾
3.步長
print(s1[2:9:1])#提取(llo wor)第三個引數是步長 預設是1 如果print(s1[2:9:2])#提取(lowr)那麼就是隔一個取一個
4.所引取切片擴充套件
print(s1[-1])#提取(d)獲取最後一個字元
print(s1[-1:-5:-1])#提取(dlro)倒著數也是顧頭不顧尾
5.5.成員運算
print('ll' in s1)#(對)in成員運算裡的查詢
6.移除字串首位指定的字元(使用頻率較高)
name = ' jason '
print(len(name))
res = name.strip()
print(res, len(res))#提取(jason)預設移除字串首尾的空格
username = input('username>>>>:').strip() #輸入使用者名稱
if username == ' jason ': #判斷成立後執行子程式碼
print('我太困了!!!')