如果循环仅检查变量中的第一位

时间:2019-02-17 01:14:09

标签: python

当我尝试使用if语句检查一个变量是否大于另一个变量时,if语句仅检查第一位。例如3> 10但30> 1。如何解决此问题,以便检查整个变量?

我尝试手动设置变量并重新启动Pycharm

Alpha = input("Input first Value:")
Bravo = input("Input second Value:")
Echo = 0
if Alpha >= Bravo:
    Echo += 1
print(Echo)

当Alpha为10而Bravo为3时,Echo应该等于1,但等于0

2 个答案:

答案 0 :(得分:1)

您在比较字符串,而需要数字值。使用int()投射它们:

Alpha = int(input("Input first Value:")) 
Bravo = int(input("Input second Value:")) 
.... 

答案 1 :(得分:0)

您要比较的是字符串而不是数字:

Alpha = int(input("Input first Value:"))
Bravo = int(input("Input second Value:"))
Echo = 0
if Alpha >= Bravo:
    Echo += 1
print(Echo)

可能是让您感到困惑的Python版本。该代码在Python 2中有效,其中对输入的文本执行eval(),但在Python 3中无效。Python 2的input()将为数字输入返回int,而对于字符串输入将返回错误。 Python 3只会返回输入的字符串。 (在这方面,我永远无法理解Python 2行为背后的原因)