与用户输入的数字比较总是产生“不相等”的结果

时间:2015-10-03 19:22:55

标签: python python-3.x if-statement user-input comparison-operators

我希望用户通过input()输入一个数字,并将其与特定值进行比较,即3

但是,我的印象是我的if语句不起作用。比较始终为False

Start = input()
if Start == 3:
     print ("successful")

4 个答案:

答案 0 :(得分:3)

Python 3输入函数返回字符串。

试试这个

start = input("-->: ")
if start == "3":
    print("successful")

答案 1 :(得分:1)

您也可以尝试这样做:

添加 int 会将变量转换为int数据类型。

input = int(raw_input("Enter a num: "))
if input == 3:
   print "Successful"

答案 2 :(得分:1)

你可以自己做一些事情来解决问题的根源:

了解对象类型的方法:

print(type(start)) # prints <class 'str'>
print(repr(start)) # prints '3'

与Python 2.x不同,函数input()返回一个字符串对象(并且不会盲目evaluate用户提供的表达式):

  

<强>输入([ 提示]):

     

如果存在prompt参数,则将其写入标准输出而不带尾随换行符。 该函数然后从输入中读取一行,将其转换为字符串(剥离尾部换行符),然后返回该行。 [...]

这应该给出一个如何解决它的想法(将数字与数字进行比较)。

进一步阅读:

答案 3 :(得分:0)

你应该检查你的标签(我建议你使用四个空格,而不是常规标签而不是混合它们)

start = 0
start = input("-->:")
if start == "3":
    print("Success")