循环还是循环? (蟒蛇)

时间:2013-11-13 20:27:54

标签: python loops while-loop

我是编程新手,我刚刚开始使用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"

但这根本不起作用,我觉得我在这里完全错过了一些东西。

谁能帮我写一个有效的代码?

3 个答案:

答案 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(或floatDecimal或其他类型的数字,无论适当的是什么):

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"