如何在我的Python程序中调试条件?

时间:2018-03-14 10:15:30

标签: python python-3.x

我被困在这个程序中。

以下是代码:

Item_number = int(input("Item number: "))
Quantity = int(input("Quantity: "))
tax = 0.05
paid = 100.00

if Item_number == 1:
price = 25.00
tamnt = ((price*tax)+price)*Quantity
changedue = paid-tamnt
item_name = "Cheese Burger"

else: Item_number == 2
price = 30.00
tamnt = ((price*tax)+price)*Quantity
changedue = paid-tamnt
item_name = "Cheese Dog"

print (" SAMPLE OUTPUT")
print ("*****************************************")
print (" SIMPLE ORDERING SYSTEM")
print ("*****************************************")

print ("Item Number Item Name Price")
print ("1 Chesse Burger 25.00")
print ("2 Cheese Dog 30.00")
print ("*****************************************")

print ("Item_number:-", Item_number)
print ("Quantity:-", Quantity)
print ("Item_name:-", item_name)
print ("Total Amount Due:- $", tamnt)
print ("Amount Paid:- $",paid)
print ("Change Due is:- $",changedue)

如果我使用的是商品编号Cheese burger,则此代码应打印1,但会打印Cheese Dog

2 个答案:

答案 0 :(得分:-1)

您需要使用缩进

if Item_number == 1:
price = 25.00
tamnt = ((price*tax)+price)*Quantity
changedue = paid-tamnt
item_name = "Cheese Burger"

else: Item_number == 2
price = 30.00
tamnt = ((price*tax)+price)*Quantity
changedue = paid-tamnt
item_name = "Cheese Dog"

应该成为

if Item_number == 1:
    price = 25.00
    tamnt = ((price*tax)+price)*Quantity
    changedue = paid-tamnt
    item_name = "Cheese Burger"
elif Item_number == 2:
    price = 30.00
    tamnt = ((price*tax)+price)*Quantity
    changedue = paid-tamnt
    item_name = "Cheese Dog"

注意else如何成为elif

答案 1 :(得分:-1)

首先,你的缩进可能已经搞砸了,因为否则第一个if条款会抱怨。 第二个是好奇的。 “else”没有附带检查,如果前面的if子句为False,它就会执行。你的“Item_number == 2”将导致True或False,但else子句不会对此做任何事情。如果要组合else和新的if语句,可以使用“elif”。 将名称设置为“Cheese Dog”可能是在执行else子句之后的所有内容。你缩进那些线了吗?使用缩进它会导致缩进错误,没有它,它会设置所有

price = 30.00
tamnt = ((price*tax)+price)*Quantity
changedue = paid-tamnt
item_name = "Cheese Dog"

然后你的print语句完全按照你的要求去做。