1. 程式人生 > >python學習--for循環詳解

python學習--for循環詳解

pytho val ase key ascii碼 排列 交集 定義數據 try

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 -=1 print("{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 +=1
    except ValueError:
        str_num +=1
print(數字:,num,\n‘‘字母:,str_num)

‘‘‘
第二種
‘‘‘
num1 = 0
str_num1 = 0
for i in str_for:
    if i.isdigit() == True:
        num1 +=1
    else:
        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 +=1
    elif 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 -=1
    print(%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)

python學習--for循環詳解