为什么我的if else语句不正确?

时间:2016-04-18 15:23:43

标签: python if-statement input

我只是习惯了如果在python中使用if语句但是我在尝试让我的工作时遇到了一些麻烦,究竟发生了什么?

x = input("Enter your string")
while not set(x).issubset({'m', 'u', 'i'}):
    print("false")
    x = input("Enter your string")
else:
    print("Your String is " + x)
Question = int(input("Which rule would you like to apply? enter numbers 1-4: "))
if Question is 1:
    print("hello")
    '''issue arises in the else area below'''
else if Question is not 1:
        print("other")

4 个答案:

答案 0 :(得分:6)

在Python中,您不像在C ++中那样编写else if。您将elif写为特殊关键字。

if Question is 1:
    print("hello")
elif Question is not 1:
    print("other")

答案 1 :(得分:1)

这一行

else if Question is not 1:

应该阅读

elif Question is not 1:

答案 2 :(得分:1)

if ... else语句的语法是 -

if expression(A):
   //whatever 
elif expression(B):
   //whatever 
else:
  //whatever 

答案 3 :(得分:1)

我认为在这种情况下你应该写的是:

if Question==1:
    print("hello")
else:
    print("other")

您无需if检查Question是否不是1,因为这是else的含义:它上面的if语句不匹配。

另外,使用==来比较数字,而不是is

在您需要else if的情况下,Python关键字为elif

if Question==1:
    print("hello")
elif Question==2:
    print("goodbye")
else:
    print("other")