#!/usr/bin/python
import math
l=raw_input("Enter some numbers:")
a=l.split(",")
b=list(a)
print b
print max(b)
Enter some numbers:100,30,31,56,50
['100', '30', '31', '56', '50']
56
我无法获得100,30,31,56,50
的准确结果。它给了我56
。是因为max函数不理解三位数?该程序适用于2位数的任何用户输入,但当我输入三位数时,它找不到最大值。
答案 0 :(得分:2)
您应该将数据映射到int。否则,您尝试使用字符串列表的最大值。
将b=list(a)
更改为:
b=map(int,a)
编辑你得到56因为5是1,3& 5之间的最大元素(对应于字符串的第一个字符)然后(第二个字符)当我们比较56和50时,我们有6大于0(因此它返回56)。