練習1
求100以內所有奇數之和
a=0
b=0
while a < 100 :
a+=1
if a % 2 != 0 : #判斷,a不能是偶數
b += a
print('1加100的奇數和的等於',b)
執行效果
1加100的奇數和的等於 2500
練習2
獲取100以內所有的奇數
a=1
while a < 100 :
print(a)
a+=2
執行效果有點長,就不列出了。
練習3
求100以內所有7的倍數之和,以及個數
a=7 $根據要求創建三個變量,分別用於存放倍數,倍數之和與個數
b=0
c=0
while a < 100 :
print(a) $列出7的倍數
a+=7 $每次列出後加7
b+=a $b爲7倍數之和,每次加上a的值
c+=1 $一百以內7的個數,每次循環後加1,相當於一個計數器
print('總和爲',b,'總數爲',c)
執行效果:
7
14
21
28
35
42
49
56
63
70
77
84
91
98
總和爲 833 總數爲 14
練習4
水仙花數是指一個n位數(n>=3),它的每個位上的數字的n次冪之和等於他本身。求1000以內所有的水仙花數。
i = 100 $列出3位數最小數
while i < 1000: $從i開始,獲取到所有小於1000的數
a = i // 100 $求出水仙花數的百位數
b = (i - a*100) // 10 $求出水仙花數的十位數
c = i % 10 $求出水仙花數的個位數
if a**3 + b**3 + c**3 == i : $將百,十,個位上的數n次冪之和等於他本身
print(i) $打印水仙花數
i += 1 $每次執行加1
執行效果:
153
370
371
407
練習5
獲取用戶輸入的任意數,判斷其是否是質數。
質數:質數是隻能被1和它本身整數的數,1不是質數也不是合數。
num = int(input('輸入一個任意的大於1的整數:'))
if num > 1 : $質數必須大於1,輸入的數也必須大於1,不然報錯。
i=2 $從2開始,獲取到所有小於num的數
flag=True $創建一個變量,用來記錄num是否是質數,默認認爲num是質數
while i < num: $i獲得的數必須小於用戶輸入的數
if num % i == 0: $判斷能否被i整除,如果num能被i整除,則說明num一定不是質數
flag=False $一旦進入判斷,則證明num不是質數,則將flag改爲False
i+=1 $每次執行後加1
if flag:
print(num,'是質數') $爲True表示不能被num中i的值整數,顧爲質數
else :
print(num,'不是質數') $否則就是爲False,能被num中i的值整數,顧不是質數。
else :
print('輸入錯誤')
執行效果:
輸入一個任意的大於1的整數:1
輸入錯誤
輸入一個任意的大於1的整數:10
10 不是質數
輸入一個任意的大於1的整數:11
11 是質數