1

我想要获得用户通过input()输入的数字,并将其与特定值(即3)进行比较。与用户输入的数字比较总是产生“不等于”结果

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

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

您应该检查你的标签(我建议你牛逼o使用四个空格,而不是常规标签,而不是混合它们)。问候 – MikeVelazco

+0

如果下一行覆盖它,为什么要分配'Start = 0'? – Bakuriu

回答

3

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

尝试这样

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

谢谢你我不知道!非常有帮助 – Ryan

+0

@欢迎您欢迎 –

0

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

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

您也可以尝试本作替代方案:

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

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

这是如何在Python 2中完成的。x(但是,应该注意的是内建函数input()是被映射的)。 – moooeeeep

+1

对不起,我会编辑@moooeeeep – essramos

+1

好吧,也许只是一个选择。 @moooeeeep,谢谢你指出 – essramos

1

有些事情你可以做你自己来找到问题的根源:

途径结识的对象的类型:

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

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

输入([提示]):

如果提示参数存在时,它被写入到标准输出没有尾随换行符。 函数然后从输入读取一行,将其转换为字符串(剥离尾随换行符),然后返回该行。 [...]

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

对于进一步阅读:

相关问题