我正在用Python创建一个基本的parket票证系统。如何让代码执行以下操作: -询问用户他们要呆多少小时,作为输入。 -有六种不同的情况-1小时住院,2小时住院,3小时住院,4小时住院,5小时住院和6小时住院。 -要求用户将硬币插入机器。 -把他们付清的全部余额拿出来,不停地让他们往机器里塞硬币,直到他们最后的余额等于总价格。 -当他们付清全部余额后,向用户输出一条“ticket”消息
我们尝试创建两个独立的变量,balancePaid和newBalance来跟踪客户必须支付的剩余资金
hours = [1, 2, 3, 4, 5, 6]
price = [1.50, 2.50, 3.50, 4.50, 5.50, 6.50]
hoursStayed = int;
hoursStayed = input("How many hours have you stayed")
if hoursStayed == 1:
print("Your parking ticket price is " + price[0])
if hoursStayed == 2:
print("Your parking ticket price is " + price[1])
if hoursStayed == 3:
print("Your parking ticket price is " + price[2])
if hoursStayed == 4:
print("Your parking ticket price is " + price[3])
if hoursStayed == 5:
print("Your parking ticket price is " + price[4])
if hoursStayed == 6:
print("Your parking ticket price is " + price[5])
balancePaid = input("Please insert coins into machine")
coins = [2.00, 1.00, 0.50, 0.20, 0.10]
if balancePaid not in coins:
print("Sorry, you must only pay £2, £1, 50p, 20p or 10p")
if balancePaid == coins[0]:
newBalance = balancePaid - 2.00
input("You now have to pay " + newBalance)
if balancePaid == coins[1]:
newBalance = balancePaid - 1.00
input("You now have to pay " + newBalance)
if balancePaid == coins[2]:
newBalance = balancePaid - 0.50
input("You now have to pay " + newBalance)
if balancePaid == coins[3]:
newBalance = balancePaid - 0.20
input("You now have to pay " + newBalance)
if balancePaid == coins[4]:
newBalance = balancePaid - 0.10
input("You now have to pay " + newBalance)
当用户输入他们停留的小时数时,不会按预期打印票价
可能您的输入是作为
str
变量来的,但是您将这些值与int
(小时)或float
(硬币)变量进行比较您使用的是完全等价的比较(
==
),因此这将失败,因为1
与"1"
不完全相同,等等您应该将输入转换为使用相同的变量类型
相关问题 更多 >
编程相关推荐