1. 程式人生 > 其它 >while迴圈,for迴圈及資料型別內建方法

while迴圈,for迴圈及資料型別內建方法

本章內容

  • 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)
    

字串的其他內建方法如下圖所示