23、若有一分、五分、一角、二角、二角五分、五角之銅板,各種銅板之個
數設為無限多,求最少之銅板個數,其總值為吾人所期望之金額。
測試資料:
(A)一元 (B)七角五分 (C)九角
(D)八角二分 (E)一元六角六分
程式 :#coding=utf8
print("23、若有一分、五分、一角、二角、二角五分、五角之銅板,各種銅板之個")
print(" 數設為無限多,求最少之銅板個數,其總值為吾人所期望之金額。")
while True:
x1=int(input("請輸入數字 (多少元 小於50):"))
try:
x1 = int(x1)
except ValueError:
print ('這是不合法的輸入. 請再輸入一次...')
continue
if ( x1 >= 0 and x1 < 50 ):
break
#==================
while True:
x2=int(input("請輸入數字 (多少角 小於10):"))
try:
x2 = int(x2)
except ValueError:
print ('這是不合法的輸入. 請再輸入一次...')
continue
if ( x2 >= 0 and x2 < 10 ):
break
#==================
while True:
x3=int(input("請輸入數字 (多少分 小於10):"))
try:
x3 = int(x3)
except ValueError:
print ('這是不合法的輸入. 請再輸入一次...')
continue
if ( x3 >= 0 and x3 < 10 ):
break
#==================
n=x1*100+x2*10+x3
sum1=0
j= [50,25,20,10,5,1]
j1=["五 角","二角五分","二 角","一 角","五 分","一 分"]
for i in range(len(j)):
y=int(n/j[i])
print(j1[i],"之銅板 : ",'{:d}'.format(y))
n=n%j[i]
sum1=sum1+y
print("總共有",'{:d}'.format(sum1),"枚銅板")
結果:
================= RESTART: D:/程式語言 Python 入門/50題/Ex50-23.py =================
23、若有一分、五分、一角、二角、二角五分、五角之銅板,各種銅板之個
數設為無限多,求最少之銅板個數,其總值為吾人所期望之金額。
請輸入數字 (多少元 小於50):2
請輸入數字 (多少角 小於10):6
請輸入數字 (多少分 小於10):6
五 角 之銅板 : 5
二角五分 之銅板 : 0
二 角 之銅板 : 0
一 角 之銅板 : 1
五 分 之銅板 : 1
一 分 之銅板 : 1
總共有 8 枚銅板
>>>
================= RESTART: D:/程式語言 Python 入門/50題/Ex50-23.py =================
23、若有一分、五分、一角、二角、二角五分、五角之銅板,各種銅板之個
數設為無限多,求最少之銅板個數,其總值為吾人所期望之金額。
請輸入數字 (多少元 小於50):1
請輸入數字 (多少角 小於10):6
請輸入數字 (多少分 小於10):6
五 角 之銅板 : 3
二角五分 之銅板 : 0
二 角 之銅板 : 0
一 角 之銅板 : 1
五 分 之銅板 : 1
一 分 之銅板 : 1
總共有 6 枚銅板
>>>
沒有留言:
張貼留言