当我尝试使用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
发布于 2019-02-17 09:17:41
您正在比较字符串,而您需要的是数值。使用int()对它们进行转换:
Alpha = int(input("Input first Value:"))
Bravo = int(input("Input second Value:"))
.... 发布于 2019-02-17 09:16:56
您比较的是字符串,而不是数字:
Alpha = int(input("Input first Value:"))
Bravo = int(input("Input second Value:"))
Echo = 0
if Alpha >= Bravo:
Echo += 1
print(Echo)可能是Python版本把你搞得一团糟。此代码在Python 2中有效,在Python 2中,对输入的文本执行eval(),但在Python 3中不起作用。对于数字输入,Python 2的input()将返回int,对于字符串输入,将返回错误。Python 3将只返回输入的字符串。(我永远不能理解Python2在这方面行为背后的理性)
https://stackoverflow.com/questions/54729256
复制相似问题