If和语法错误python

If和语法错误python,python,syntax,Python,Syntax,晚上好。我是python新手,但不懂编程。我现在正在写一个程序,但我不明白为什么。如果工作小时数大于40但小于60,我想显示加班工资。不幸的是,每次我尝试使用and关键字时,程序都会出现语法错误。有人能解释一下我做错了什么吗 wage = eval(input("Enter in the employees hourly wage: ")) #get wage hours_worked = eval(input("Enter in the number of hours worked: "))

晚上好。我是python新手,但不懂编程。我现在正在写一个程序,但我不明白为什么。如果工作小时数大于40但小于60,我想显示加班工资。不幸的是,每次我尝试使用and关键字时,程序都会出现语法错误。有人能解释一下我做错了什么吗

wage = eval(input("Enter in the employees hourly wage: ")) #get wage
hours_worked = eval(input("Enter in the number of hours worked: ")) #get hours
pay = wage * hours_worked # calculate pay
ot = ((hours_worked - 40 ) *  (1.5) * wage) + (wage * 40) 
double = ((hours_worked - 40 ) *  (2) * wage) + (wage * 40) 
#calculate overtime pay

if (hours_worked <= 40):
    print (pay)

if (hours_worked > 40 and < 60):
    print (ot)

if (hours_worked >= 60):
    print (double)
wage=eval(输入(“输入员工时薪:”)#获取工资
工作小时数=评估(输入(“输入工作小时数:)#获取小时数
工资=工资*工作时间#计算工资
加班费=((工作时数-40)*(1.5)*工资)+(工资*40)
双倍=((工作时数-40)*(2)*工资)+(工资*40)
#计算加班工资
如果(工作时间为40小时且<60小时):
打印(ot)
如果(工作小时数>=60):
打印(双)
如果(工作小时数>40,工作小时数<60):
如果(工作小时数>40和<60):
打印(ot)
应该是

if (hours_worked > 40 and hours_worked < 60):
print (ot)
if(工作小时数>40,工作小时数<60):
打印(ot)
相反。Python还不支持在按位
if
条件之间重复变量。

第11行

if (60 > hours_worked > 40):
if(工作小时数>40和40,工作小时数<60):

或者用一种较短的方式来写:


如果(40

在python来自的语言背景中,
操作符不需要匹配值,它需要条件。因此,它试图将
<60
解释为一种条件,而不是你所说的更符合模式的构造。

您需要将其转换为条件,将其替换为
hours\u worked<60

您刚刚忘记了在第二个条件中包含hours\u worked

hours_worked > 40 and hours_worked < 60  
hours\u worked>40和hours\u worked<60

这是因为解释器无法理解此语法。它解析第一个条件,然后找到一个“and”。因此,它期待着另一种情况。相反,正如其他人所说,它会找到',您可以使用

if (hours_worked > 40 and hours_worked < 60):
if(工作小时数>40,工作小时数<60):

如果(40

我还应该指出,在第一行中实际上不需要eval()。您真正想在那里使用的函数是int()。如果您发布此代码供公众使用,人们可能会编写恶意代码,这些代码将通过eval()函数执行

错误也会告诉你它发生在哪里;也许这会有所帮助(你可以把它添加到你的问题中)。在Python(以及我能想到的所有其他语言)中,你必须在“and”的两边都给出一个条件
if(hours\u worked>40和hours\u worked<60)本身就是一个语法错误。没有必要在if条件周围加括号(即使这里的每个答案都有)。请参阅(任何)教程。有趣的事实:在Python中,如果40
,你可以做你想做的事。这是你遇到问题的第二个if语句。感谢大家的帮助,这是一个非常简单的修复。我不知道我必须在and之后第二次包含变量。在返回插入它之后,它工作得非常好。谢谢收获。很好,你很快乐。享受吧!
hours_worked > 40 and hours_worked < 60  
if (hours_worked > 40 and hours_worked < 60):
if (40 < hours_worked < 60):