我的if和elif语句未执行

时间:2019-10-08 20:21:00

标签: python

我正在尝试学习python,并且遇到了if和elif语句的问题。我检查了缩进,并检查了条件是否正确,但是由于某些原因,if和elif语句无法执行。无论我为用户输入0,1还是2,都不会发生。

我尝试更改缩进,但这似乎无济于事。我还尝试将所有语句更改为if语句,并且没有任何变化。

get-process chrome | stop-process

它旨在执行if和elif语句中的内容。

2 个答案:

答案 0 :(得分:1)

输入始终是字符串,但是您正在将其与整数进行比较。

相反,您可以将其强制转换为int,如下所示:

user = int(input("Is your number: " + str(guess) + "\n"))

或:

if int(user) == 2:

现在,请记住,用户可能会键入一些我们无法解释为整数的内容。为了安全起见,我们可以检查输入是否无效,如果用户输入了其他内容,我们可以要求输入一个数字:

user = None
while user is None:
    try:
        user = int(input("Is your number: " + str(guess) + "\n"))
    except ValueError:
        print("Please enter a number!")

一种完全不同的策略是通过将数字放在引号中来将比较的右边更改为字符串:

if user == '2':

user保留为字符串会使使用它进行数学运算变得更加尴尬。

答案 1 :(得分:1)

用户类型为字符串,但是将if和elif与整数进行比较。这就是为什么它不起作用的原因。尝试使用:

user = int(input("Is your number: " + str(guess) + "\n"))