python如果条件不能正常工作,为什么?

时间:2015-03-03 04:34:30

标签: python

a=input()
b=input()
if a<b :
print('B is maximum',b)
else:
print('A is maximum',a)
如果我们给a = 10 b = 2,那么

这个程序    它会给B带来最大的原因吗?

2 个答案:

答案 0 :(得分:4)

听起来你正在使用Python 3.x.在这个版本中,input()返回字符串,而不是数字,所以它正在进行字典比较,而不是数字比较。如果要比较整数,则必须先转换输入:

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

答案 1 :(得分:0)

确切地说,这是因为您使用的是Python 3.x.在Python 2.x中,有两个变体,raw_input()返回一个字符串,input()返回一个评估结果。在Python 3.x中,raw_input()被重命名为input(),原始的input()函数被删除(尽管你可以通过将它包装在eval函数上来轻松获得行为)。

比较字符串lexicographically所以&#39; 10&#39; &LT; &#39; 2&#39;虽然如果他们是数字,结果将是对抗的。