当我尝试与具有不同位数的数字进行比较时,它不起作用

时间:2018-04-07 22:53:44

标签: python

我有一些代码可以让某人输入两个数字,然后分配给变量。然后它会比较给出的数字。 Fx. if a < b elif a > b。 这工作正常,直到两个数字具有不同的数字位。 Fx. a=12b=111。它将111读为11并认为12更高。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

你有字符串,而不是整数。由于同样的原因,字符串'111'出现在'12'之前&#34; aaa&#34;会来之前&#34; ab&#34;在字典中,如果那些是文字;字符串是有序的lexicographically

使用int(your_string)进行整理。

答案 1 :(得分:0)

我只能猜测这是解决方案(包括[mcve]会有所帮助):

a = int(input())
b = int(input())

if a < b:
    #code here

这是因为&#34;输入()&#34;返回&#34; str&#34;在python 3.x中(这是我认为你正在使用的)。在此处阅读更多相关信息:https://docs.python.org/3/library/functions.html#input