当我尝试使用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
答案 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行为背后的原因)