我是编程新手,我刚刚开始使用python。我找到了一些练习练习一点点,我被困在while和for循环中。
我想设计一个要求捐赠的计划,并一直要求捐赠,直到捐赠最低金额为50欧元。当达到这个最低或更高时,我想停止该计划并感谢人们的捐赠。
我的代码如下所示:
donation = raw_input("enter your donation: ")
while donation < 50:
donation= raw_input("We are sorry that's not enough, enter again: ")
if donation >= 50 print "thank you for the donation"
但这根本不起作用,我觉得我在这里完全错过了一些东西。
谁能帮我写一个有效的代码?
答案 0 :(得分:3)
if
循环中的while
条件根本不需要。循环将持续到donation >= 50
,因此您应该能够在循环之后打印消息:
donation = raw_input("enter your donation: ")
while donation < 50:
donation= raw_input("We are sorry that's not enough, enter again: ")
print "thank you for the donation"
答案 1 :(得分:3)
代码的实际问题与循环无关。正如大卫指出的那样,你可以写得更好,但是你拥有的作品,它只是有点冗长。
问题是你要将字符串与数字进行比较。 raw_input
始终返回一个字符串。没有字符串比任何数字都少。所以,donation < 50
永远不会成真。
您需要将其转换为int
(或float
或Decimal
或其他类型的数字,无论适当的是什么):
donation = int(raw_input("enter your donation: "))
while donation < 50:
donation = int(raw_input("We are sorry that's not enough, enter again: "))
if donation >= 50: print "thank you for the donation"
答案 2 :(得分:-1)
if donation >= 50: print "thank you for the donation"