我不确定为什么我会继续保持12 <3

时间:2018-09-02 11:09:39

标签: python python-3.x

我知道名称很长,但我想确保没有办法从使用的变量中提取名称

firstvalue = input("first")
secondvalue = input("second")

if firstvalue < secondvalue:
    print ("first value is < second value")
    print ( firstvalue, "less than", secondvalue)
else:
    if firstvalue == secondvalue:
        print ("first is = second")
    else:
        print ("first is greater than 2nd")
        print (firstvalue , "greater than", secondvalue)

当我为第一个值输入12并为第二个值输入3时,我得到12 <3

3 个答案:

答案 0 :(得分:1)

您正在将变量读取为字符串而不是整数,请尝试以下操作:

firstvalue = int(input("first"))
secondvalue = int(input("second"))

答案 1 :(得分:1)

您当前正在比较字符串,并且"12"小于"3",因为ASCII表中的1在3之前。

如果您想比较输入字符串的int值,请使用int(input()),但是您可能想捕获ValueError

答案 2 :(得分:-1)

从命令行输入时,您的值是文本值。如果不将它们转换为int或float,请保持这种状态。 比较文本值时,python当然会按字母顺序进行比较,因此会将第一个字符与第一个字符进行比较。在您的示例中是1和3,而“ 1”小于“ 3”