在if和语句后由于冒号导致无效的语法错误?

时间:2018-10-03 00:17:07

标签: python python-3.x

Hello Stack社区

我只是想让用户输入售票数量1-300,因此我可以使用该值基于售票数量和每张机票的价格来计算售票总收入。但是,我的作业需要

您可以看到我尝试通过在值不正确的情况下再次执行带输入请求的“ if”和“ and”语句来进行尝试。

但是,正如我在屏幕截图中看到的那样,我一直收到无效的语法错误。是因为我的“ if”和“”语句使用不正确吗?

这是在Python IDLE的Python 3.6上完成的。这是我的代码:

def main():

对用户的输入请求

resultsA = int(input("Please enter how many seats you sold is section A")
               if resultsA < 1 and resultsA > 300:
               int(input("Please enter a valid number from 1 to 300")


resultsB = int(input("Please enter how many seats you sold is section B")\
               if resultsB is < 1 or > 500:
               int(input("Please enter a valid number from 1 to 500")


resultsC = int(input("Please enter how many seats you sold is section A")
               if resultsC is < 1 or > 200:
               int(input("Please enter a valid number from 1 to 200")

计算用户的输入

finalResultA = 20*resultsA
finalResultsB = 15*resultsB
finalResultsC = 10*resultsC
trulyFinal = finalResultA + finalResultB + finalResultC

将计算结果打印给用户

print ("Congratulations, here is your total revenue from tickets:\t", trulyFinal)

这是屏幕截图:enter image description here

1 个答案:

答案 0 :(得分:1)

您的缩进是错误的。 if语句的内容缩进。另外,or语句的每个部分都必须能够自己“有意义”。想象一下,好像这​​两个语句是完全分开执行的。另外,您忘记关闭对int()的调用的括号。这是一个固定的示例。

        if resultsB < 1 or resultsB > 500:
            int(input("Please enter a valid number from 1 to 500"))