这是我的代码def max_array_diff(line): return max(line)line = raw_input().split()print max_array_diff(line)print line这是我得到的输出9['1', '9', '2', '-7', '10', '4', '3']我需要输出为10。raw_input()作为字符串输入,我已将其转换为列表,并试图从中获取最大值,但它始终返回9而不是10。我在做什么错?
3 回答

ABOUTYOU
TA贡献1812条经验 获得超5个赞
分割输入后,应将输入转换为整数。否则,您将使用进行字符串比较max()
。
改变:
line = raw_input().split()
至:
line = map(int, raw_input().split())
另外,您可以指定int
作为key
函数,max()
以便根据字符串输入的整数值进行比较。
改变:
return max(line)
至:
return max(line, key=int)

万千封印
TA贡献1891条经验 获得超3个赞
您需要执行整数比较而不是字符串比较:
def max_array_diff(line):
return max(line)
line = [int(x) for x in raw_input().split()]
print max_array_diff(line)
print line

HUH函数
TA贡献1836条经验 获得超4个赞
或另一种方法是:
print(sorted(raw_input().split(),key=int))
要获得最高的成就,请执行以下操作:
print(sorted(raw_input().split(),key=int)[0])
要获得前三名:
print(sorted(raw_input().split(),key=int)[:3])
添加回答
举报
0/150
提交
取消