- 论坛徽章:
- 0
|
原帖由 3227049 于 2009-2-17 14:13 发表
回答的好像都理解错意思了吧。。。写个简单的。。。
def test(number):
result={25:0,10:0,5:0,1:0}
for k in result.keys():
result[k],number=divmod(number,k)
if ...
这个才是正解,题目中要求“可以换成最少多少枚硬币”,下面的是我在他的基础上修改的。
#!/usr/bin/env python
#coding=gbk
#author=xiaomayi0323
#date=2009/03/26
#filename=5-5
def test(number):
result={25:0,10:0,5:0,1:0}
for k in result.keys():
# print k,
result[k],number=divmod(number,k)
# print result
if number==0:
break
# print result
print " ".join(["%d美分:%d"%(k,v) for k ,v in result.items() ])
sum = 0
for v in result.keys():
sum = sum + result[v]
return "最少可以兑换成%d枚硬币"% sum
i = int(raw_input('enter money :'))
#for i in xrange(100):
print "total:%d\n%s"%(i,test(i)) |
|
|