Loops Python:虽然循环/控制语句没有达到预期的结果,但如何解决这个问题? cost=int(输入(“输入成本:\n”)) payment=int(输入(“存入硬币或纸币:\n”)) 如果付款>=成本: 变更=付款-成本 打印(更改) elif付款

Loops Python:虽然循环/控制语句没有达到预期的结果,但如何解决这个问题? cost=int(输入(“输入成本:\n”)) payment=int(输入(“存入硬币或纸币:\n”)) 如果付款>=成本: 变更=付款-成本 打印(更改) elif付款,loops,if-statement,for-loop,python-3.x,while-loop,Loops,If Statement,For Loop,Python 3.x,While Loop,我基本上想要“改变”的价值 上面的说法是错误的,因为它没有“存储”第一次付款的价值,如果它低于成本,意识到我犯了一个严重的错误 cost = int(input("Enter the cost:\n")) payment = int(input("Deposit a coin or note:\n")) if payment >= cost: change = payment - cost print (change) elif payment < cost:

我基本上想要“改变”的价值

上面的说法是错误的,因为它没有“存储”第一次付款的价值,如果它低于成本,意识到我犯了一个严重的错误

cost = int(input("Enter the cost:\n"))
payment = int(input("Deposit a coin or note:\n"))

if payment >= cost:
    change = payment - cost
    print (change)

elif payment < cost:
    while payment < cost:
        payment = int(input("Deposit a coin or note:\n"))
        change = cost - payment
        print (change)
        break
cost=int(输入(“输入成本:\n”))
付款=0
付款<成本时:
firstpayment=int(输入(“存入硬币或纸币:\n”))
付款=付款+首次付款
如果付款>成本:
变更=付款-成本
打印(“您的更改为:$”,更改)

循环条件表示:

cost = int(input("Enter the cost:\n"))
payment = 0
while payment < cost:
    firstpayment = int(input("Deposit a coin or note:\n"))
    payment = payment + firstpayment
    if payment > cost:
        change = payment - cost
        print ("Your change is: $",change)
付款<成本:
因此,当付款超过成本时,循环自动存在。所以更简单的方法是

while payment< cost:

付款=成本时…

从循环中取出
更改
while payment<cost:
    #do something
change = payment-cost