04 python中的while for迴圈結構
阿新 • • 發佈:2021-11-13
迴圈結構
-
for……in:知道次數時使用的迴圈,一般搭配range
-
while:不知道迴圈次數時使用
-
range的用法解析:特點是包頭不包尾
``` range(101):指的是0-100 range(1,101):指的是1-100 range(1,101,2):1-100的奇數 range(100,0,-2):100-1的偶數 ```
-
小指令碼練習
-
輸入一個正整數判斷是不是素數
from math import sqrt def sushu(num): for i in range(2,int(sqrt(num))+1): if num%i==0 : return False return True if num!=1 else False num=int(input('輸入一個數字:')) print(sushu(num))
-
輸入兩個正整數,計算它們的最大公約數和最小公倍數
#實現最大公約和最小公倍數的函式 def max_gongyue(x,y): for i in range(x,0,-1): if x%i==0 and y%i==0: return i def min_gongbei(x,y): i=max_gongyue(x,y) return (x*y)/i def main(): x=int(input('請輸入正整數1:')) y=int(input('請輸入正整數2:')) print('最大公約數是%d,最小公倍數是%d'%(max_gongyue(x,y),min_gongbei(x,y))) if __name__ == '__main__': main()
-
列印如下所示的三角形圖案
''' * ** *** **** ***** ''' ''' * ** *** **** ***** ''' ''' * *** ***** ******* ********* ''' def xingxing1(): #輸入要幾行 row=int(input('請輸入要列印幾行星星')) #行數迴圈 for i in range(1,row+1): # 列迴圈 for j in range (i): print('*',end='') print() def xingxing2(): # 輸入要幾行 row = int(input('請輸入要列印幾行星星')) for i in range(1,row+1): for j in range(row-i): print(' ',end='') for k in range(i): print('*',end='') print() def xingxing3(): row = int(input('請輸入要列印幾行星星')) for i in range(1, row + 1): for j in range(row-i): print(' ',end='') for k in range(2*i-1): print('*',end='') for l in range(row-i): print(' ',end='') print() if __name__ == '__main__': # xingxing1() # xingxing2() # xingxing3() pass
-