這裡列出的答案不是來自官方資源,是我自己做的練習,可能有誤。
5-5.
取餘。取一個任意小於1美元的金額,然後計算可以換成最少多少枚硬幣。硬幣有1美分、5美分、10美分、25美分4種。1美元等於100美分。舉例來說,0.76美元計算結果應該是3枚25美分,1枚1美分。類似於76枚1美分,2枚25美分+2枚10美分+1枚5美分+1枚1美分這樣的結果都是不符合要求的。
【答案】
代碼如下:
def verify(a):
b = '0123456789'
if len(a) == 2 and a[0] in b and a[1] in b: return True
else: return False
def change(a):
N25 = int(a) / 25
N10 = (int(a) - 25 * N25) / 10
N5 = (int(a) - 25 * N25 - 10 * N10) / 5
N1 = int(a) - 25 * N25 - 10 * N10 - 5 * N5
print '%i cents can be changed to:' % int(a)
print '25 Cents: %i' % N25
print '10 Cents: %i' % N10
print ' 5 Cents: %i' % N5
print ' 1 Cents: %i' % N1
a = raw_input("Please input the number in U.S cents: ... ")
if verify(a): change(a)
else: print "Invalid input, Please try again."
【推薦】很喜歡下面兩篇文章,故推薦之。
http://linzhong2006.javaeye.com/blog/205270
一個程式員的奮鬥曆程
http://www.cnblogs.com/netgarden/archive/2007/09/07/886132.html
一個優秀IT專家的成長曆程
5-6.
算術。寫一個計算機程式。你的代碼可以接受這樣的運算式,兩個運算元加一個操作符:N1操作符N2。其中N1和N2為整型或浮點型,操作符可以是+、-、*、/、%、**,分別表示加法、減法、乘法、整型除、取餘和冪運算。計算這個運算式的結果,然後顯示出來。提示:可以使用字串方法split(),但不可以使用內建函數eval()。
【答案】
代碼如下:
print 'Please input the expression, such as 1+23: ... '
expression = raw_input()
def verify(a):
try:
float(a)
return True
except ValueError:
print 'You input an illegal expression. "%s" is not a number.' % a
return False
if len(expression.split('+')) == 2:
if (verify(expression.split('+')[0])) and (verify(expression.split('+')[1])):
print '= %f' % (float(expression.split('+')[0]) + float(expression.split('+')[1]))
pass
elif len(expression.split('*')) == 2:
if (verify(expression.split('*')[0])) and (verify(expression.split('*')[1])):
print '= %f' % (float(expression.split('*')[0]) * float(expression.split('*')[1]))
pass
elif len(expression.split('/')) == 2:
if (verify(expression.split('/')[0])) and (verify(expression.split('/')[1])):
print '= %f' % (float(expression.split('/')[0]) / float(expression.split('/')[1]))
pass
elif len(expression.split('%')) == 2:
if (verify(expression.split('%')[0])) and (verify(expression.split('%')[1])):
print '= %f' % (float(expression.split('%')[0]) % float(expression.split('%')[1]))
pass
elif len(expression.split('**')) == 2:
if (verify(expression.split('**')[0])) and (verify(expression.split('**')[1])):
print '= %f' % (float(expression.split('**')[0]) ** float(expression.split('**')[1]))
pass
elif len(expression.split('-')) == 2:
if (verify(expression.split('-')[0])) and (verify(expression.split('-')[1])):
print '= %f' % (float(expression.split('-')[0]) - float(expression.split('-')[1]))
pass
else:
pass
【未完】這個程式不能計算例如1- -2的運算式。
5-7.
營業稅。隨意取一個商品金額,然後根據當地營業稅額度計算應該交納的營業稅。
【答案】
代碼如下:
purePrice = float(raw_input('Please input the price: ... '))
print 'You should pay:'
print 'Subtotal: %10.2f ' % purePrice
print 'Sales Tax: %10.2f ' % round(purePrice * 0.11, 2)
print 'TOTAL: %10.2f ' % (purePrice + round(purePrice * 0.11, 2))
【推薦】很喜歡部落格《淡泊江湖.NET程式人生》的文章,故推薦之。
http://www.cnblogs.com/zzc315/category/61542.html