python第三天課程:int, bool, str
什麽數據類型:
int :1.2.3 用於計算
# .bit_length()計算二進制的位數 """ i = 100 print(i.bit_length()) """
bool :True,False 用戶判斷
str: 儲存少量數據,進行操作
'fdjsal' , '二哥' , '`13243' , 'fdshklj' , '戰三, 李四, 王二麻子。。。。'
list:儲存大量的數據。
[1,2,3 , '泰哥' , '12353234' , [1,2,3]]
元祖:只讀。
(1,2,3, '第三方',)
dict:字典{'name' : ’雲姐‘ , 'age' : 16}
字典{'云姐' : [] , '二哥' : [200,200,200,200,。。。。。。]}
集合: {1,2,34, 'aasdf'}
轉換:
#bool True False #int ----> str i = 1 s = str(1) #str ----> int s = '123' i = int(s) #int ----> bool 只要是0 ----> False 非0就是True i = 3 b = bool(i) print(b) #bool ----> int #True 1 #False 0 ''' ps: while True: pass while 1:效率高 pass ''' #str ----> bool #s=""----> False #非空字符串都是True #s = "0"----> True #s if s: print('您輸入的爲空,請重新輸入') else: pass
字符串的索引與切片:
''' s = 'ABCDLSESRF' #索引 s1 = s[0] print(s1) s2 = s[2] print(s2) s3 = s[-1] print(s3) s4 = s[-2] print(s4) #ABCD 切片:顧頭不顧尾 s = 'ABCDLSESRF' s5 = s[0:4] print(s5) s6 = s[0:-1] print(s6) s7 = s[:] s8 = s[0:] print(s7, s8) s9 = s[0:0] s = 'ABCDLSESRF' # s[首:尾:步長] s10 = s[0:5:2] print(s10) s11 = s[4:0:-1] print(s11) s12 = s[3::-1] print(s12) s13 = s[3::-2] print(s13) s14 = s[-1::-1] print(s14) s15 = s[::-1] print(s15) '''
字符串的操作:
''' s = 'alexWUsir' s1 = s.capitalize() #首字母大寫 print(s1) #全大寫全小寫 s2 = s.upper() s3 = s.lower() print(s2,s3) s_str = 'acEQ1' you_input = input('請輸入驗證碼,不區分大小寫') if you_input.lower() == s_str.lower(): print('輸入成功') else: print('請重新輸入') #大小寫翻轉 s3 = s.swapcase() print(s3) #每個隔開(特殊字符或數字)的單詞首字母大寫 s = 'alex*egon-wusir' s4 = s.title() print(s4) s = 'fade,crazy*w4rri0r_songsong node_3' s4 = s.title() print(s4) #居中,空白填充 s = 'alexWUsir' s5 = s.center(20,'~') print(s5) s = 'alex\tsir' s6 = s.expandtabs() print(s6) s = 'alex二哥' #公共方法 l =len(s) print(l) #以什麽開頭結尾endswith s = 'alexWUsir' s7 = s.startswith('alex') print(s7) s71 = s.startswith('e',2,5) print(s71) if s7: pass elif s.startswith('bl'): pass # find 通過元素找索引,找不到返回-1 #index 通過元素找索引,找不到報錯 s = 'alexWUsir' s8 = s.find('A') s9 = s.index('A') print(s8,s9) #strip rstrip lstrip s = 'alexWUsir%' s9 = s.strip('%') print(s9) s = ' *a%lexWUsi* r%' s91 = s.strip(' %*') print(s91) #strip默認刪除前後空格 username = input('請輸入名字: ').strip() if username == '春哥': print('恭喜春哥發財') s = 'alexaa wusirl' s10 = s.count('al') print(s10) #split str ----> list s = ';alex;wusir;taibai' l = s.split('a') print(l) #format的有三種玩法 格式化輸出 s = '我叫{}, 今年{}, 愛好{}, 再説一下我叫{}'.format('太白', 18, 'girl', '太白') print() name = input('請輸入名字:') s = '我叫{0}, 今年{1}, 愛好{2}, 再説一下我叫{0}'.format(name,36, 'girl') print(s) name = input('請輸入名字:') s = '我叫{name}, 今年{age}, 愛好{hobbie}, 再説一下我叫{name}'.format(name = name,age = 36, hobbie ='girl') print(s) s = '来看待街坊邻居复合大师街坊法好的撒见客户' s11 = s.replace('街','老王',1) print(s11) s = 'fhdsklfds' for i in s: print(i) s = 'fdsa苍井空fdsalk' if '苍井空' in s: print('您的评论有敏感词...') name = 'jinxin123' print(name.isalnum()) #字符串由字母和數字組成 print(name.isalpha()) #字符串由字母組成 print(name.isdigit()) #字符串由數字組成 '''
HW:
''' #1.有變量 name = "aleX leNb"完成如下操作 #1).移除 name 變量對應的值兩邊的空格,並輸出處理結果 name = "aleX leb" q1 = name.strip("") print(q1) #2).移除 name 變量左邊的‘al'并輸出處理結果 name = "aleX leNb" q2 = name.lstrip('al') print(q2) #3).移除 name 變量右邊的‘Nb'并輸出處理結果 name = "aleX leNb" q3 = name.rstrip('Nb') print(q3) #4).移除name 變量開頭的‘a'與最後的'b',并輸出處理結果 name = "aleX leNb" q4 = name.lstrip('a').rstrip('b') print(q4) #5).判斷name 變量是否以"ai"開頭并輸出結果 name = "aleX leNb" q5 = name.startswith('al') print(q5) #6).判斷name 變量是否以'Nb'結尾並輸出結果 name = "aleX leNb" q6 = name.endswith('Nb') print(q6) #7)將name 變量對應的值中的所有'l'替換成'p'並輸出結果 name = "aleX leNb" q7 = name.replace('l', 'p') print(q7) #8).將name 變量對應的值中的第一個'l'替換成'p'並輸出結果 name = "aleX leNb" q8 = name.replace('l', 'p',1) print(q8) #9).將name 變量對應的值 根據所有的'l'分割,並輸出結果 name = "aleX leNb" s9 = name.split('l') print(s9) #10).將name 變量對應的值 根據第一個'l'分割,並輸出結果 name = "aleX leNb" s10 = name.split('l', 1) print(s10) #11).將name 變量對應的值變大寫,並輸出結果 name = "aleX leNb" s11 = name.upper() print(s11) #12).將name 變量對應的值變小寫,並輸出結果 name = "aleX leNb" s12 = name.lower() print(s12) #13).將name 變量對應的值首字母'a'大寫,並輸出結果 name = "aleX leNb" s13 = name.capitalize() print(s13) #14).判斷name 變量對應的字母'l'出現幾次,並輸出結果 name = "aleX leNb" s14 = name.count('l') print(s14) #15).如果判斷name 變量對應的值前四位’l'出現幾次,並輸出結果 name = "aleX leNb" q15 = name.count('l', 0, 5) print(q15) #16).從name變量對應的值中找到'N'對應的索引(如果找不到則報錯),並輸出結果 name = "aleX leNb" q16 = name.index('N') print(q16) #17).從name變量對應的值中找到'N'對應的索引(如果找不到則返回-1),並輸出結果 name = "aleX leNb" q17 = name.find('N') print(q17) #18).從name變量對應的值中找到'X le'對應的索引,並輸出結果 name = "aleX leNb" q18 = name.find('X le') print(q18) #19)請輸出name變量對應的值的第二個字符 name = "aleX leNb" q19 = name[1] print(q19) #20)請輸出name變量對應的值的前三個字符 name = "aleX leNb" q20 = name[0:3] print(q20) #21)請輸出name變量對應的值的後兩個符 name = "aleX leNb" q21 = name[-2:] print(q21) #22)請輸出name變量對應的值中'e'所在的對應位置 name = "aleX leNb" q22 = name.find('e') print(q22) q23 = name.find('e', -5, -1) print(q23) #獲取子序列,去掉最後一個字符。 name = "aleX leNb" j = name[0:-1] for i in j: print(i) #2.有字符串s='132a4b5c' #1).通過對li列表的切片形成新的字符串s1, s1 = '132' s='132a4b5c' s1 = s[0:3] print(s1) #2).通過對li列表的切片形成新的字符串s2, s2 = 'a4b' s='132a4b5c' s2 = s[3:6] print(s2) #3).通過對li列表的切片形成新的字符串s3, s3 = '1245' s='132a4b5c' s3 = s[0:-1:2] print(s3) #4).通過對li列表的切片形成新的字符串s4, s4 = '3ab' s='132a4b5c' s4 = s[1:6:2] print(s4) #5).通過對li列表的切片形成新的字符串s5, s5 = 'c' s = '132a4b5c' s5 = s[-1] print(s5) #6).通過對li列表的切片形成新的字符串s6, s6 = 'ba3' s = '132a4b5c' s6 = s[-3::-2] print(s6) #3.使用while和for循環分別打印字符串s='asdfer'中每個元素 s='asdfer' for i in s: print(i) s='asdfer' index = 0 while 1: print(s[index]) index += 1 if index == 6: break #4.實現一個整數加法計算器: #如:content=input('請輸入内容:') #如用戶輸入:5+9 或 5+9 或 5+9,然後進行分割再計算 content = input('請輸入内容: ').strip() index = content.find('+') a = int(content[0:index]) b = int(content[index+1:]) print(a+b) 5.計算用戶輸入的内容有幾個整數 如:content=input('請輸入内容:') content=input('請輸入内容:') count = 0 for i in content: if i.isdigit(): count += 1 print(count) '''