为什么我会收到语法错误?

时间:2015-04-22 15:38:19

标签: python if-statement

sales = 1000

#def commissionRate():  

if (sales < 10000):
    print("da")  
else:
    if (sales <= 10000 and >= 15000):
        print("ea")

if (sales <= 10000 and >= 15000):行上的语法错误。特别是在等号上。

2 个答案:

答案 0 :(得分:6)

您还需要将setsid()与第二个条件进行比较:

sales

你需要这个:

In [326]:

sales = 1000
​
#def commissionRate():
​
​
if (sales < 10000):
    print("da")
else:
    if (sales <= 10000 and sales >= 15000):
        print("ea")
da

另外,在if (sales <= 10000 and sales >= 15000): ^^^^ sales here 条件下,您不需要括号()

if

工作正常

您可以将其重写为更紧凑的:

if sales <= 10000 and sales >= 15000:

所以In [328]: sales = 1000 ​ if sales < 10000: print("da") else: if 10000 <= sales <= 15000: print("ea") da 也有效,谢谢@Donkey Kong

此外(感谢@pjz)与代码无关,逻辑上销售额不能小于10000且大于15000。

即使没有语法错误,条件永远不会是if 10000 <= sales <= 15000:

您希望Trueif sales > 10000 and sales <= 15000:可能更清楚

为了扩展if 10000 <= sales <= 15000:语法(感谢@will提供建议),在python中可以执行数学比较if 10000 <= sales <= 15000:也解释here比通常更自然Running Sync Adapter {1}}。

这允许从文档链接比较:

  

正式地,如果lower_limit < x < upper_limitif x > lower_limit and x < upper_limit:a,...,bc是表达式,y,{{ 1}},...,z   是比较运算符,然后op1是等价的   到op2,除了每个表达式都是   最多评估一次。

答案 1 :(得分:2)

关于语法:

if (sales <= 10000 and >= 15000):应为if (sales <= 10000 and sales >= 15000):

关于逻辑:

销售额绝不能超过10,000或大于或等于15,000

if (10000 <= sales <= 15000):