0

我对编程很陌生,我刚刚开始使用 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"

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

谁能帮我写一个工作代码?

4

3 回答 3

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"
于 2013-11-13T20:30:34.113 回答
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"
于 2013-11-13T20:34:27.487 回答
-1
if donation >= 50: print "thank you for the donation"
于 2013-11-13T20:31:39.680 回答