python學習 lesson4迴圈語句:for迴圈
一、for迴圈的基本結構
for迴圈可以遍歷任何序列的專案,如一個列表或者一個字串。
for迴圈的結構
for iter_var in iterable:
suite_to_repeat
註解:每次迴圈, iter_var 迭代變數被設定為可迭代物件(序列, 迭代器, 或者是其他支援迭代的對 象)的當前元素, 提供給 suite_to_repeat 語句塊使用.
二、range函式
如果你需要遍歷數字序列,可以使用內建range()函式。它會生成數列。
range(start,end,step=1):顧頭不顧尾
range(10):預設step=1,start=0,生成可迭代物件,包含[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1,10):指定start=1,end=10,預設step=1,生成可迭代物件,包含[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1,10,2):指定start=1,end=10,step=2,生成可迭代物件,包含[1, 3, 5, 7, 9]
eg:輸出0~100內所有偶數之和
sum = 0 ##定義變數
for i in range(0, 101, 2): ##將i的值遍歷為0~100的所有偶數
sum = sum + i ##所有數相加
print (sum)
輸出結果:
三、for的運用:break&continue
for迴圈結合
輸出
登陸系統: for i in range(3): ##三次輸出機會 name=input('please input username:') ##輸入使用者名稱 passwd=input('please input passwd:') ##輸入密碼 if (name=='westos')and(passwd=='123321'): ##如果使用者密碼符合 print('success') break ##退出迴圈 else: print('your usrname or passwd wrong!!! you have %d chance' %(2-i)) ##機會剩餘次數 else: print('you have not chance,please wait 100s') ##機會用完則輸出
break&continue
break: 跳出整個迴圈。
continue: 跳出此次迴圈,continue後的程式碼不執行,繼續下次迴圈。
exit():直接跳出程式。
小測試:
搭建shell環境: import os ###import os 引用系統函式 for i in range(1000): cmd=input('[[email protected] test]$' ) if cmd: if cmd=='exit': print('bye') break else: os.system(cmd) ###執行cmd命令 else: continue print('hello') ###不會執行
最大公約數和最小公倍數:
要求:
輸入兩個數值:
輸出兩個數的最大公約數和最小公倍數
最想公倍數:num1num2/最大公約數
方法1:
num1 = int(input(‘輸入數字1:’))
num2 = int(input(‘輸入數字2:’))
if num1 > num2:
for i in range(1, num2 + 1):
if num2 % i == 0 and num1 % i == 0:
aa = i
else:
for i in range(1, num1 + 1):
if num2 % i == 0 and num1 % i == 0:
aa = i
print(‘最大公約數:%d’ % (aa))
bb = (num1 * num2) / i
print(‘最小公倍數:%d’ % (bb))
方法2:
num1 = int(input(‘輸入數字1:’))
num2 = int(input(‘輸入數字2:’))
#比較num1和num2誰更小。
min_num = min(num1,num2)
for i in range(1, min_num + 1):
if num2 % i == 0 and num1 % i == 0:
aa = i
bb = (num1num2)/aa
print(‘最大公倍數為:%d’ %(aa))
print(‘最小公約數為:%d’ %(bb))
擴充:min() 表示輸出最小值