python学习--for循环详解
生活随笔
收集整理的這篇文章主要介紹了
python学习--for循环详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
For 循環
一、使用for循環實現簡單功能
''' 乘法表 1--9乘法表 for循環實現數字遍歷 ''' for i in range(1,10): # 行中for s in range(1,i+1): # 列中print('%s X %s=%s '%(s,i,s*i),end ='')print() ''' 星星 實現星星以三角形排列 ''' for i in range(1,9): # 行for s in range(len(range(1,9))-i):print(' ',end ='')for n in range(1,2*i): # 列print('*',end = '') print()''' 金額小寫=>大寫 對循環數字進行拆分 對數組合 ''' list_num = ['零','壹','貳','叁','肆','伍','陸','柒','捌','玖']list_U = ['園','拾','佰','仟','萬'] input_num = input('輸入數字:') len_U = len(input_num) for i in input_num:len_U -=1print("{0}{1}".format(list_num[int(i)],list_U[len_U]),end='') print('整')運行:
E:\python_VS_code\directory[目錄]>D://py3.6//python.exe e:/python_VS_code/directory[目錄]/demo0802/py_for_mult.py 1 X 1=1 1 X 2=2 2 X 2=4 1 X 3=3 2 X 3=6 3 X 3=9 1 X 4=4 2 X 4=8 3 X 4=12 4 X 4=16 1 X 5=5 2 X 5=10 3 X 5=15 4 X 5=20 5 X 5=25 1 X 6=6 2 X 6=12 3 X 6=18 4 X 6=24 5 X 6=30 6 X 6=36 1 X 7=7 2 X 7=14 3 X 7=21 4 X 7=28 5 X 7=35 6 X 7=42 7 X 7=49 1 X 8=8 2 X 8=16 3 X 8=24 4 X 8=32 5 X 8=40 6 X 8=48 7 X 8=56 8 X 8=64 1 X 9=9 2 X 9=18 3 X 9=27 4 X 9=36 5 X 9=45 6 X 9=54 7 X 9=63 8 X 9=72 9 X 9=81************************************************* *************** 輸入數字:1234 壹仟貳佰叁拾肆園整?
二、推導式:
列表推導式:va=[rxp for out in list if (out 條件)]獲得兩個列表交集va3=[10,20,30,40] va4=[20,30,50,60,70] Va5=[ num for num in va3 if num in va4 ]獲得并集va6=[ num for num in va3 if num not in va4 ] print(va6) print(va4+va6)獲得差集va7=[ num for num in va4 if num not in va3 ] print(va7)--------------------------------------------------------------? # 獲得0-99之間的 奇數的二倍值
va2=[i*2 for i in range(100) if i%2!=0 ]
print('va2,',va2)
生成器 對象 (元組推導式)gen=( i for i in range(5)) print(gen)# for i in gen:# print(i)------------------------------------------------------------字典推導式 mcase = {'a': 10, 'b': 34, 'A': 7, 'Z': 3,'B':20,'b':50}var={keyexcept:vaExcept for key in 字典對象 }# if k.lower() in ['a','b','z'] 判斷條件 mcase_frequency = {k.lower(): mcase.get(k.lower(), 0) + mcase.get(k.upper(), 0) #第三部執行for k in mcase.keys()#第一步if k.lower() in ['a','b','z'] #第二部判斷執行 true 執行第三部------------------------------------------------------- 集合推導式 mcase_key={key for key in mcase if key== key.lower()}
?
?
三,同樣要求的三種不同解決方式
''' 統計字符串中數字和字母的個數 1.使用異常處理非數字 try...except 2.使用內置函數判定非數字 isdigit() 3.使用字符轉換判斷數字字母范圍。 ord() 字符轉ascii碼 chr() ascii碼轉字符 '''str_for = 'adashgdkahfqa223354564' num = 0 str_num = 0 ''' 第一種 ''' for i in str_for:try:int(i)num +=1except ValueError:str_num +=1 print('數字:',num,'\n''字母:',str_num)''' 第二種 ''' num1 = 0 str_num1 = 0 for i in str_for:if i.isdigit() == True:num1 +=1else:str_num1 +=1 print('數字:',num1,'\n''字母:',str_num1)''' 第三種 ''' num2 = 0 str_num2 = 0 for i in str_for:if ord('0') < ord(i) <ord('9'):num2 +=1elif ord('a') <= ord(i) <=ord('z') or ord('A') <= ord(i) <= ord('Z'):str_num2 += 1 print('數字:',num2,'\n''字母:',str_num2)?
?
四、推導式解決【金額大小寫轉換,字典推導式練習】
list_num = ['零','壹','貳','叁','肆','伍','陸','柒','捌','玖']list_U = ['園','拾','佰','仟','萬'] input_num = input('輸入數字:') len_U = len(input_num) num_info = [int(input_num)//10**i%10 for i in range(len_U-1,-1,-1)] for i in num_info:len_U -=1print('%s%s'%(list_num[i],list_U[len_U]),end = '') print('整')''' 字典對象 初始化定義數據 把 Key是 str類型 長度大于等于5的信息獲取 用推導式 ''' dict_1 = {'a':12,123:'abcd','12345':True,'sadasdds':'18895','asd':'d'} dict_infer = {k:v for k,v in dict_1.items() if type(k) ==str and len(k) >= 5} print(dict_infer)?
轉載于:https://www.cnblogs.com/lifengyuan/p/9432350.html
總結
以上是生活随笔為你收集整理的python学习--for循环详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浮动应用
- 下一篇: Python直接赋值,浅拷贝和深度拷贝