if语句检查用户输入总是转到else分支

时间:2014-07-15 20:24:28

标签: python if-statement

我希望用户能够从某些选项中选择一个值。如果他们选择了有效的选择,控制台将打印“你确定吗?”,如果不是,它将打印“请选择...”。

Shutter_Speed = (1.0, 2.0, 5.0, 10.0)
Choose_Shutter_Speed = input ("Select Shutter Interval: ")

if Shutter_Speed in (1.0, 2.0, 5.0, 10.0):
    print ("Are you sure? ")

else:
    print ("Please select from 1.0, 2.0, 5.0 or 10.0 seconds")

当我运行此代码时,无论我输入什么内容,它都会运行'else'语句。我做错了什么?

2 个答案:

答案 0 :(得分:3)

您的用户输入存储在Choose_Shuttle_Speed中,但您正在读取变量Shuttle_Speed

Shutter_Speed = (1.0, 2.0, 5.0, 10.0)
Choose_Shutter_Speed = input ("Select Shutter Interval: ")

if Choose_Shutter_Speed in (1.0, 2.0, 5.0, 10.0):
    print ("Are you sure? ")

else:
    print ("Please select from 1.0, 2.0, 5.0 or 10.0 seconds")

另外,正如所写,您根本没有使用Shuttle_Speed变量,您可以完全删除它或以Matthew建议的方式使用它。

答案 1 :(得分:3)

看起来你正在寻找的是这个

if Choose_Shutter_Speed in Shutter_Speed

这将检查输入是否是可接受的值。