while迴圈,for迴圈及資料型別內建方法
阿新 • • 發佈:2022-03-08
本章內容
- while + else
- 死迴圈與while的巢狀
- for迴圈的基本使用
- range關鍵字
- for迴圈補充(break、continue、else)
- for迴圈的巢狀
- 基本資料型別及內建方法
while + else
"""當while的迴圈可以正常執行完後,便可以執行else了。"""
eg:
n = 1
while n < 4:
print('n')
n += 1
else:
print('迴圈執行完畢')
死迴圈與while的巢狀
# 死迴圈,顧名思義就是不斷地迴圈,不斷地執行,從而影響電腦的效能,有時候甚至損壞電腦的硬體。 while True # 便是最常見的死迴圈 # while巢狀 """ while在進行多個巢狀的時候,如果只結束了內層的迴圈,無法結束外層的死迴圈時,可以選擇定義一個常量,值為True。通過常量的布林值的改變結束迴圈 """
for迴圈
""" for迴圈能做到的事都可以用while迴圈做到 但是for迴圈更加簡單,在平時使用頻率更高。 """ # 一般在迴圈取值的時候,都會優先使用for迴圈。 # 格式: for 變數 in for的迴圈物件 # 字串 列表 字典 元組 集合 for迴圈每一次執行都會把迴圈物件的值賦值給變數名 eg: name_list = ['jason', 'kevin', 'tony', 'tank','oscar'] n = 0 while n < 5: print(name_list[n]) n += 1
# 在for迴圈中,如果迴圈的物件是字典,那麼列印的話只打印key值,不列印value值。
# for迴圈中,在列印字典和集合的元素的時候,打印出的資料是無序的。
range關鍵字
range關鍵字的用法:
在python2和python3中,對於range的表達也不同,如下圖所示:
range常用的程式碼體現eg: # 列印1~100 for i in range(1,101): # 取值要頭不要尾 print(i) # 括號內寫一個值時,預設是從0開始 for i in range(10): # 取值要頭不要尾 print(i) # 括號內寫三個值,最後一個數預設是從1開始的 for i in range(1, 100,5): # 取值要頭不要尾 print(i)
for迴圈補充
1. for + break
打破迴圈,結束本層迴圈
2. for + continue
結束本次迴圈,立即執行下一次迴圈
3. for + else
迴圈正常結束後,執行else的子程式碼
檢視資料型別的內建方法
# 如何檢視?
藉助於程式設計軟體的幫助,採用句點符檢視
資料型別的內建方法
1.int整型
"""
掌握型別轉換
掌握進位制數轉換
"""
<1. 型別轉換
# 比較侷限,只能轉換數字 eg:
num = input()
num = int(num)
print(type(num)) # 結果是int型別
<2. 進位制數轉換
# 十進位制轉換其他進位制eg:
print(bin(100)) # 列印結果為 0b1100100 2進位制
print(oct(100)) # 列印結果為 0o144 8進位制
print(hex(100)) # 列印結果為 0x64 16進位制
# 其他進位制轉換十進位制eg:
print(int('0b1100100', 2)) # 100
print(int('0o144', 8)) # 100
print(int('0x64', 16)) # 100
2.float 浮點型
"""掌握型別轉換"""
# 型別轉換
num = float('11.11')
print(num, type(num)) # 列印結果為11.11 float
num = float('11')
print(num, type(num)) # 列印結果為11.0 float
3.str 字串
str可以轉換所有的資料型別 eg:
print(str(11), type(str(11)))
print(str(6.6), type(str(6.6)))
print(str([1, 2, 3]), type(str([1, 2, 3])))
print(str(True), type(str(True)))
print(str({1: 2, 2: 3}), type(str({1: 2, 2: 3})))
print(str((1,2,3)), type(str((1, 2, 3))))
print(str({1,2,3}), type(str({1, 2, 3})))
# 結果如下圖:
3.關於字串的其他內建方法
s = 'abcdefgijk'
1. 索引取值
print(s[2])
2.切片操作
print(s[1:6])
3.步長
print(s[1:6:2])
4反向切片
print(s[-1])
print(s[-1:-5:-1])
print(s[-5:-1])
5.統計字串中的字元個數
print(len(s))
6.成員運算
print('cd' in s)
7.移除字串中首尾的空格
name = ' tony '
print(len(name))
real_name = name.strip()
print(real_name, len(real_name))
username = input().strip()
8.按照指定的字元切割字串
data = 'tony|666|male'
print(data.split('|'))
print(data.split('|', maxsplit = 1)
print(data.rsplit('|', maxsplit = 1)