坚持体育场python代码

时间:2014-02-22 00:57:19

标签: python class

嗨,所以我是python的初学者,我有点困在我上课的问题,并希望得到一些指导。 课堂上的问题是:体育场座位:体育场有三种座位类型。对于棒球比赛,A级座位每个售价15美元,B级座位每个售价12美元,C级座位每个售价9美元。创建一个python程序,允许用户输入每个类销售的票数。该计划应该能够显示每类售票产生的收入金额和产生的总收入。 添加票证数量的输入验证,以便只允许数字。您的程序不得让其余代码运行无效输入。

现在我得到了大部分工作,但由于某种原因,我的收入2和3没有乘以价格的门票数量,而只是从价格中多次写出票数。它似乎只是影响B类和C类

这是我的代码

sales1=input("Enter number of tickets sold for Class A seats:")
#Validating sale
while not sales1.isnumeric():
    print("INVALID INPUT:Please enter a number:")

#Convert sales to a number
sales1 =int(sales1)

sales2=input("Enter number of tickets sold for Class B seats:")
#Validating sale
while not sales2.isnumeric():
    print("INVALID INPUT:Please enter a number:")

#Convert sales to a number
sales =int(sales2)

sales3=input("Enter number of tickets sold for Class C seats:")
#Validating sale
while not sales3.isnumeric():
    print("INVALID INPUT:Please enter a number:")

#Convert sales to a number
Sales2 =int(sales3)

#Income

income1 = int(sales1 * 15)
print("Sales for Class A:$" , end="")
print(income1)
income2 = int(sales2 * 12)
print("Sales for Class B:$" , end="")
print(income2)
income3 = int(sales3 * 9)
print("Sales for Class C:$" , end="")
print(income3)

#Total 

Total = int(income1 + income2 + income3)
print("Total revenue from ticket sales:$")
print (total)

我的结果就像这样

输入A类座位的售票数量:1 输入B类座位的售票数量:1 输入C类座位的售票数量:1 A类销售:15美元。 B类销售:111111111111美元 C类销售:$ 111111111

1 个答案:

答案 0 :(得分:4)

sales =int(sales2)
Sales2 =int(sales3)

salesSales2很可能不是您想要使用的变量名称,考虑到您以后会这样做

income2 = int(sales2 * 12)
income3 = int(sales3 * 9)

好像sales2sales3是整数。最有可能的是,您希望遵循使用sales1设置的模式:

sales1 =int(sales1)

并使用

sales2 = int(sales2)
sales3 = int(sales3)

请注意,一旦有数字,就不需要对每次计算的结果调用int。这样:

income1 = int(sales1 * 15)

可以

income1 = sales1 * 15

虽然我们在这,但这是你的下一个错误。这部分:

while not sales1.isnumeric():
    print("INVALID INPUT:Please enter a number:")

要求用户修改他们的输入,但它实际上并没有让用户这样做。它只是打印出无限的消息流,纠缠着用户去做。您需要致电input以获取用户的新号码。其他3个输入验证部分也会出现同样的问题。