流程控制與基本資料型別內建方法
阿新 • • 發佈:2022-03-08
目錄
while迴圈
while與else連用
當while沒有被break關鍵字打斷,正常結束迴圈體程式碼之後將會被執行,while與else平級
''' while 條件: 條件成立後執行的迴圈體程式碼 else: 迴圈體程式碼正常執行結束後執行的程式碼 ''' eg: count = 1 while count < 5: print('hellow world!') count += 1 else: print('while迴圈正常執行結束') >>>:hellow world! >>>:hellow world! >>>:hellow world! >>>:hellow world! >>>:while迴圈正常執行結束 count = 1 while count < 5: print('hellow world!') count += 1 if count == 5: break else: print('while迴圈正常執行結束') >>>:hellow world! >>>:hellow world! >>>:hellow world! >>>:hellow world!
死迴圈與while巢狀
死迴圈就是永遠無法結束的迴圈,並且一直佔用cpu工作,死迴圈影響電腦的效能,有時甚至會損壞電腦硬體
#死迴圈
count = 100
while True:
count *= 10
#while巢狀 ''' while 條件1: 條件1成立時執行的子程式碼 while 條件2: 條件1和2成立時執行的子程式碼 ''' 使用者登入系統: flag = True name = 'jason' pwd = '123' while flag: user_name = input('請輸入使用者名稱:') user_pwd = input('請輸入密碼:') if user_pwd == pwd and user_name == name: print('使用者登入成功') while flag: reception = input('>>>:') if reception == 'exit': flag = False print(reception) else: print('使用者名稱或密碼錯誤')
for迴圈
for迴圈可以做到的,while迴圈都可以做到,但是for迴圈語法更加的簡單,所以使用頻率更高,而涉及到迴圈取值時,一般考慮使用for迴圈而不是while迴圈
''' for 變數名 in 迴圈物件: #迴圈物件可以是字串、字典、集合、元組 迴圈體程式碼 每一次迴圈都會將迴圈中的一個物件賦值給變數名,變數名也儘量要做到見名知意。 ''' # 使用for迴圈遍歷 name_list = ['jason', 1, ['name', 'age']] for i in name_list: print(i) >>>jason >>>1 >>>['name', 'age'] #依次取出字串 的每一個字元 for i in 'hello ' print(i) >>>h >>>e >>>l >>>l >>>o >>>
迴圈字典
'''
只能獲得字典中key的值,無法獲得value的值
'''
dict_1 = {'name' : 'jason', 'age' : 18, 'height' : 180}
for i in dict_1:
print(i)
>>>name
>>>age
>>>height
迴圈元組
for i in (1,2,3,4,5):
print(i)
>>>1
>>>2
>>>3
>>>4
>>>5
迴圈集合
for i in {11, 22,3,44}:
print(i)
>>>3
>>>11
>>>44
>>>22
# 集合和字典的內部都是無序的
range關鍵字
range在python2和python3中是有區別的,在python2中將會直接產生一個列表,在元素很多的情況下比較佔用空間,在python2中有一個 xrange方法,跟python3中的range方法一樣,而python3中不再有xrange方法
#range的使用方法
for i in range(10):
print(i) #括號內只寫一個數字,預設從零開始,輸出的值是0~9,顧頭不顧尾
for i in range(5,10)
print(i) #括號內有兩個數字,自定義起始位,輸出結果 5~9
for i in range(3,10,2)
print(i) #括號內有三個數字,自定義起始位置和步長,輸出結果 3,5,7,9
'''
步長可以為負數,將由小到大的遍歷順序改為,由大到小
'''
資料型別的內建方法
資料型別的內建方法,是為了是我們更加便捷的操作資料,在pycharm中,可以通過,資料型別+.的方式來檢視該型別的內建方法
int
# 1.型別轉換
'''
將純整數的字串,轉換成整型數字
'''
print(int('123'))
>>>123
# 2.進位制轉換
'''
可以將其它進位制的數轉換為十進位制
'''
print(int('0b1100100', 2)) #二進位制
print(int('0o144', 8)) #8進位制
print(int('0x64', 16)) #16進位制
#十進位制,轉換為其他進位制
print(bin(100))
print(oct(100))
print(hex(100))
>>>0b1100100
>>>0o144
>>>0x64
float
#型別轉換
'''
可以將純數字組成的字串轉換成float型,無論整數小數都可以
'''
print(float('11'), float('12.55'))
>>>11.0 12.55
字串內建方法
1.型別轉換
'''
可以將所有型別的資料都轉換成字串
'''
print(type(str([1,2,3,4])), type(str({'name':'jason', 'age':18})))
>>><class 'str'> <class 'str'>
#以s1 = 'hello world'為例
2.索引取值
print(s1[0],s1[2])
>>>h l
3.切片操作
'''
切片操作,有三個值,分別是,起始位,終止位,步長
'''
print(s1[0:5])##跟range類似,顧頭不顧尾
>>>hello
#步長
print(s1[2:9:2])
>>lowr #間隔一位取一個值,預設步長為1
'''
切片的預設順序為從左到右取值,而當步長為負數時,取值順序將變為從右像左
'''
print(s1[-2:-7:-1])
>>>lrow
'''
當步長不為負數,即不改變從左到右的取值順序時
從右向左無法取值
'''
print(s1[-1:-5]) #輸出值為空
成員運算
'''
成員運算,判斷個體是否在群體之中
'''
print('ll' in s1)
>>>True
統計字串中字元的個數
print(len(s1))
>>>11
移除字串首尾指定的字串
'''
變數名.strip()預設可以移除變數首尾的所有空格,也可移除指定符號
'''
name = ' mm '
print(name)
print(name.strip())
>>> mm
>>>mm
#通過strip方法移除末尾的*
name = '******mm****'
print(name.strip('*'))
>>>mm
切割字串
'''
在python中,可以使用split方法,根據指定字元切割字串,字串切割後,是一個列表
'''
data = 'tom!123!hello'
print(data.split('!'))
>>>['tom', '123', 'hello']