Python::第3類:迴圈敘述
源自於
https://weigecodingfun.blogspot.com/search/label/TQC%20%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80%20Python%3A%3A%E7%AC%AC3%E9%A1%9E%EF%BC%9A%E8%BF%B4%E5%9C%88%E6%95%98%E8%BF%B0
TQC+ 程式語言Python 310 迴圈公式計算
設計說明:
請使用迴圈敘述撰寫一程式,讓使用者輸入正整數n (1 < n),計算以下公式的總和並顯示結果:
11+√2+1√2+√3+1√3+√4+...+1√n−1+√n
11+√2+1√2+√3+1√3+√4+...+1√n−1+√n
提示:輸出結果至小數點後四位。
輸入輸出:
輸入說明
一個正整數
輸出說明
代入公式計算結果
輸入輸出範例
範例輸入
8
範例輸出
1.8284
'''
請使用迴圈敘述撰寫一程式,讓使用者輸入正整數n (1 < n),計算以下公式的總和並顯示結果:
'''
import math
n=int(input("輸入正整數n==>"))
S=0
for i in range(2,n+1):
S+=1/(math.sqrt(i-1)+math.sqrt(i))
print("總和= %.4f"%S)
輸入正整數n==>8
總和= 1.8284
>
TQC+ 程式語言Python 309 存款總額
設計說明:
請使用迴圈敘述撰寫一程式,提示使用者輸入金額(如10,000)、年收益率(如5.75),以及經過的月份數(如5),接著顯示每個月的存款總額。
提示:四捨五入,輸出浮點數到小數點後第二位。
舉例:
假設您存款$10,000,年收益為5.75%。
過了一個月,存款會是:10000 + 10000 * 5.75 / 1200 = 10047.92
過了兩個月,存款會是:10047.92 + 10047.92 * 5.75 / 1200 = 10096.06
過了三個月,存款將是:10096.06 + 10096.06 * 5.75 / 1200 = 10144.44
以此類推。
假設您存款$10,000,年收益為5.75%。
過了一個月,存款會是:10000 + 10000 * 5.75 / 1200 = 10047.92
過了兩個月,存款會是:10047.92 + 10047.92 * 5.75 / 1200 = 10096.06
過了三個月,存款將是:10096.06 + 10096.06 * 5.75 / 1200 = 10144.44
以此類推。
輸入輸出:
輸入說明
一個正整數(金額)、一個正數(收益率)及一個正整數(月份)
輸出說明
格式化輸出每個月的存款總額
輸入輸出範例
範例輸入
50000
1.3
5
範例輸出
Month Amount
1 50054.17
2 50108.39
3 50162.68
4 50217.02
5 50271.42
'''
請使用迴圈敘述撰寫一程式,提示使用者輸入金額(如10,000)、年收益率(如5.75),以及經過的月份數(如5),接著顯示每個月的存款總額。
提示:四捨五入,輸出浮點數到小數點後第二位。
舉例:
假設您存款$10,000,年收益為5.75%。
過了一個月,存款會是:10000 + 10000 * 5.75 / 1200 = 10047.92
過了兩個月,存款會是:10047.92 + 10047.92 * 5.75 / 1200 = 10096.06
過了三個月,存款將是:10096.06 + 10096.06 * 5.75 / 1200 = 10144.44
以此類推。
'''
money=eval(input("輸入存款金額==>"))
SS=eval(input("輸入年收益 % ==>==>"))
month=eval(input("輸入月份數==>"))
print('%s \t %s' % ('Month', 'Amount'))
for i in range(month):
money=money+(money*SS/1200)
print('%3d \t %.2f' % (i+1, money))
輸入存款金額==>50000
輸入年收益 % ==>==>1.3
輸入月份數==>5
Month Amount
1 50054.17
2 50108.39
3 50162.68
4 50217.02
5 50271.42
>
TQC+ 程式語言Python 308 迴圈位數加總
設計說明:
請使用迴圈敘述撰寫一程式,要求使用者輸入一個數字,此數字代表後面測試資料的數量。每一筆測試資料是一個正整數(由使用者輸入),將此正整數的每位數全部加總起來。
輸入輸出:
輸入說明
先輸入一個正整數代表後面測試資料的數量
依測試資料的數量,再輸入正整數的測試資料
依測試資料的數量,再輸入正整數的測試資料
輸出說明
將測試資料的每位數全部加總
輸入輸出範例
輸入與輸出會交雜如下,輸出的部份以粗體字表示 1
1
98765
Sum of all digits of 98765 is 35
98765
Sum of all digits of 98765 is 35
輸入與輸出會交雜如下,輸出的部份以粗體字表示 2
3
32412
Sum of all digits of 32412 is 12
0
Sum of all digits of 0 is 0
769
Sum of all digits of 769 is 22
32412
Sum of all digits of 32412 is 12
0
Sum of all digits of 0 is 0
769
Sum of all digits of 769 is 22
'''
請使用迴圈敘述撰寫一程式,要求使用者輸入一個數字,此數字代表後面測試資料的數量。每一筆測試資料是一個正整數(由使用者輸入),將此正整數的每位數全部加總起來。
'''
n=eval(input("輸入測試資料的數量正整數n==>"))
print("\n")
for i in range(n):
sn=input("輸入正整數==>")
ALL=0
for j in range(len(sn)):
ALL+=int(sn[j])
print("Sum of all digits of",sn,"is",ALL)
輸入測試資料的數量正整數n==>3
輸入正整數==>122212
Sum of all digits of 122212 is 10
輸入正整數==>33333311
Sum of all digits of 33333311 is 20
輸入正整數==>12222497
Sum of all digits of 12222497 is 29
>
TQC+ 程式語言Python 307 乘法表
設計說明:
(1) 請使用迴圈敘述撰寫一程式,要求使用者輸入一個正整數n(n<10),顯示n*n乘法表。
(2) 每項運算式需進行格式化排列整齊,每個運算子及運算元輸出的欄寬為2,而每項乘積輸出的欄寬為4,皆靠左對齊不跳行。
輸入輸出:
輸入說明
一個正整數n(n<10)
輸出說明
輸出格式化的n*n乘法表
輸入輸出範例
範例輸入1
3
範例輸出1
1 * 1 = 1 2 * 1 = 2 3 * 1 = 3
1 * 2 = 2 2 * 2 = 4 3 * 2 = 6
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
範例輸入2
5
範例輸出2
1 * 1 = 1 2 * 1 = 2 3 * 1 = 3 4 * 1 = 4 5 * 1 = 5
1 * 2 = 2 2 * 2 = 4 3 * 2 = 6 4 * 2 = 8 5 * 2 = 10
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 4 * 3 = 12 5 * 3 = 15
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16 5 * 4 = 20
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
'''
(1) 請使用迴圈敘述撰寫一程式,要求使用者輸入一個正整數n(n<10),顯示n*n乘法表。
(2) 每項運算式需進行格式化排列整齊,每個運算子及運算元輸出的欄寬為2,而每項乘積輸出的欄寬為4,皆靠左對齊不跳行。
'''
N=int(input("輸入正整數N==>"))
for i in range(1,N+1):
for j in range(1,N+1):
print('{} * {} = {:<4}'.format(j,i,(j*i)),end='')
print()
輸入正整數N==>6
1 * 1 = 1 2 * 1 = 2 3 * 1 = 3 4 * 1 = 4 5 * 1 = 5 6 * 1 = 6
1 * 2 = 2 2 * 2 = 4 3 * 2 = 6 4 * 2 = 8 5 * 2 = 10 6 * 2 = 12
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 4 * 3 = 12 5 * 3 = 15 6 * 3 = 18
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16 5 * 4 = 20 6 * 4 = 24
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25 6 * 5 = 30
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
>
TQC+ 程式語言Python 305 數字反轉
設計說明:
請撰寫一程式,讓使用者輸入一個正整數,將此數值以反轉的順序輸出。
輸入輸出:
輸入說明
一個正整數
輸出說明
將此數值以反轉的順序輸出
輸入輸出範例
範例輸入1
31283
範例輸出1
38213
範例輸入2
1003120
範例輸出2
0213001
'''
請撰寫一程式,讓使用者輸入一個正整數,將此數值以反轉的順序輸出。
'''
x=input("輸入正整數x==>")
a=str(x)
b = list(a)
b.reverse()
b = ''.join(b)
print("反轉的順序輸出 %s " %b)
輸入正整數x==>55676hhjhj
jhjhh67655
>
輸入正整數x==>1221343
反轉的順序輸出 3431221
>
TQC+ 程式語言Python 304 迴圈倍數總和
設計說明:
請使用迴圈敘述撰寫一程式,讓使用者輸入一個正整數a,利用迴圈計算從1到a之間,所有5之倍數數字總和。
輸入輸出:
輸入說明
一個正整數
輸出說明
所有5之倍數數字總和
輸入輸出範例
範例輸入
21
範例輸出
50
import math
'''
請使用迴圈敘述撰寫一程式,讓使用者輸入一個正整數a,利用迴圈計算從1到a之間,所有5之倍數數字總和。
'''
a=eval(input("輸入正整數a==>"))
sum=0
for i in range(1,a+1,1):
if i%5==0:
sum+=i
print("從1到a之間,所有5之倍數數字總和 %d" %(sum))
輸入正整數a==>35
從1到a之間,所有5之倍數數字總和 140
>
TQC+ 程式語言Python 303 迴圈數值相乘
設計說明:
請使用迴圈敘述撰寫一程式,讓使用者輸入一個正整數(<100),然後以三角形的方式依序輸出此數的相乘結果。
提示:輸出欄寬為4,且需靠右對齊。
輸入輸出:
輸入說明
一個正整數(<100)
輸出說明
輸入輸出範例
以三角形的方式依序輸出此數的階乘結果
範例輸入1
5
範例輸出1
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
範例輸入2
12
範例輸出2
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
10 20 30 40 50 60 70 80 90 100
11 22 33 44 55 66 77 88 99 110 121
12 24 36 48 60 72 84 96 108 120 132 144
import math
'''
請使用迴圈敘述撰寫一程式,讓使用者輸入一個正整數(<100),然後以三角形的方式依序輸出此數的相乘結果。
'''
a=eval(input("輸入正整數a==>"))
c=1
print("%4s" %(str(c)))
for i in range(2,a+1):
for j in range(1,i+1):
c=i*j
print("%4d"%(c),end='') # end='' 不換行
print()
輸入正整數a==>6
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
>
TQC+ 程式語言Python 302 迴圈偶數連加
設計說明:
請使用迴圈敘述撰寫一程式,讓使用者輸入兩個正整數a、b(a < b),利用迴圈計算從a開始的偶數連加到b的總和。例如:輸入a=1、b=100,則輸出結果為2550(2 + 4 + … + 100 = 2550)。
輸入輸出:
輸入說明
兩個正整數(a、b,且a < b)
輸出說明
計算從a開始的偶數連加到b的總和
輸入輸出範例
範例輸入
14
1144
範例輸出
327714
import math
'''
請使用迴圈敘述撰寫一程式,讓使用者輸入兩個正整數a、b(a < b),利用迴圈計算從a開始的偶數連加到b的總和。例如:輸入a=1、b=100,則輸出結果為2550(2 + 4 + … + 100 = 2550)。
'''
a=eval(input("輸入正整數a==>"))
b=eval(input("輸入正整數b==>"))
if (a%2 == 0):
a1=a
else:
a1=a+1
sum=0
for i in range(a1,b+1,1):
if i%2==0:
sum+=i
print(sum)
print("從a開始的偶數連加到b的總和 %d" %sum)
輸入正整數a==>13
輸入正整數b==>1144
327714
從a開始的偶數連加到b的總和 327714
>
TQC+ 程式語言Python 301 迴圈整數連加
設計說明:
請使用迴圈敘述撰寫一程式,讓使用者輸入兩個正整數a、b(a < b),利用迴圈計算從a開始連加到b的總和。例如:輸入a=1、b=100,則輸出結果為5050(1 + 2 + … + 100 = 5050)。
輸入輸出:
輸入說明
兩個正整數(a、b,且a < b)
輸出說明
計算從a開始連加到b的總和
輸入輸出範例
範例輸入
66
666
範例輸出
219966
import math
'''
請使用迴圈敘述撰寫一程式,讓使用者輸入兩個正整數a、b(a < b),利用迴圈計算從a開始連加到b的總和。例如:輸入a=1、b=100,則輸出結果為5050(1 + 2 + … + 100 = 5050)。
'''
a=eval(input("迴圈計算 a==>"))
b=eval(input("迴圈計算 b==>"))
sum=0
for i in range(a,b+1):
sum=sum+i
print("從a開始連加到b的總和 %d" %sum)
迴圈計算 a==>1
迴圈計算 b==>10
從a開始連加到b的總和 55
>