2018-07-19循環(huán)及其分支簡單應用

基礎題目(每一個題目用for還有while各寫一遍)
1.求1-100的數(shù)的和還有平均值

#for
sum = 0
avreg = 0
for i in range(1,101):
    sum += i
    i += 1
    avreg = sum/i

print('1-100的和為:%d\n'%sum)
print('1-100的均值為:%i\n'%avreg)
#while
c = 1
d = 0
while c <= 100:   #取小于等于100的正整數(shù)
    d += c
    f = d/c
    c += 1

print('1-100的和為:%d\n'%d)
print('1-100的均值為:%i\n'%f)

2.求1-100之間能被3整除的數(shù)的和

a = 0
for b in range(1,101):
    if b % 3 == 0:
        a += b
        continue  #如果能被3整除就取來與a相加,如果不能被3整除結束當前的循環(huán),再去判斷下一個數(shù)是否能被3整除。
print('1-100之間能被3整除的數(shù)的和為:%d\n'%a)
#while
sum = 0
a = 0
while a <= 100:   #取小于等于100的正整數(shù)
    if a % 3 == 0:
        sum += a
        a += 1
        continue
    a += 1

    
print('1-100之間能被3整除的數(shù)的和:%d\n'%sum)

3.求1-100之間不能被7整除的數(shù)的和

a = 0
for b in range(1,101):
    if not b % 7 == 0:  #當這個數(shù)不能被7整除,那就取這個數(shù)出來進行加法,如果這個數(shù)能被7整除,那么就結束當前的循環(huán),不執(zhí)行語句
        a += b
        continue
print('1-100之間不能被7整除的數(shù)的和為:%d\n'%a)
#while
sum = 0
a = 0
while a <= 100:   #取小于等于100的正整數(shù)
    if not a % 7 == 0:
        sum += a
        a += 1
        continue
    a += 1
print('1-100之間不能被7整除的數(shù)的和為:%d\n'%sum)

稍微困難題目
1.兔子(斐波拉數(shù)列)

n = 7
pr1 = 1 # 當前數(shù)的前一個數(shù)
pr2 = 1  #當前數(shù)的前兩個數(shù)
current = 0
for x in range(1,n+1):
    if x == 1 or x==2:
        print(1)
        continue
    #計算前兩個數(shù)的和
    current =pr1 + pr2
    print(current)
    #更新
    pr1,pr2=pr2,current

2.判斷101-200之間有多少個素數(shù)

for a in range(101,201):
    c = 0
    for b in range(2,a):
        if  a % b == 0:
            #有一個能整除a的數(shù),a就是素數(shù)
            c += 1
            #print('%d不是素數(shù)'%a)
            break    #結束包含他的最近的循環(huán)
    
#一個能整除的數(shù)都沒有,a才是素數(shù)
    if c == 0:
        print('%d是素數(shù)'%a)

3.水仙花數(shù)

for number in range(100,1000):
    a = number//100
    b = number//10%10
    c = number%10
    if a**3+b**3+c**3 == number:
        print('%d是水仙數(shù)'%number)

4.有序分數(shù)系列

fz = 2
fm = 1
for x in range(1,20):
    if x ==1:
        print('%d/%d'%(fz,fm))
        continue
    fz,fm=fz+fm,fz
    print('%d/%d'%(fz,fm))

輸出結果:


1-100的和為:5050

1-100的均值為:50

1-100的和為:5050

1-100的均值為:50

1-100之間能被3整除的數(shù)的和為:1683

1-100之間能被3整除的數(shù)的和:1683

1-100之間不能被7整除的數(shù)的和為:4315

1-100之間不能被7整除的數(shù)的和為:4315

1
1
2
3
5
8
13

101是素數(shù)
103是素數(shù)
107是素數(shù)
109是素數(shù)
113是素數(shù)
127是素數(shù)
131是素數(shù)
137是素數(shù)
139是素數(shù)
149是素數(shù)
151是素數(shù)
157是素數(shù)
163是素數(shù)
167是素數(shù)
173是素數(shù)
179是素數(shù)
181是素數(shù)
191是素數(shù)
193是素數(shù)
197是素數(shù)
199是素數(shù)

153是水仙數(shù)
370是水仙數(shù)
371是水仙數(shù)
407是水仙數(shù)

2/1
3/2
5/3
8/5
13/8
21/13
34/21
55/34
89/55
144/89
233/144
377/233
610/377
987/610
1597/987
2584/1597
4181/2584
6765/4181
10946/6765

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容