Python 2 Max函数

这是我的代码


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。我在做什么错?


慕沐林林
浏览 205回答 3
3回答

ABOUTYOU

分割输入后,应将输入转换为整数。否则,您将使用进行字符串比较max()。改变:line = raw_input().split()至:line = map(int, raw_input().split())另外,您可以指定int作为key函数,max()以便根据字符串输入的整数值进行比较。改变:return max(line)至:return max(line, key=int)

万千封印

您需要执行整数比较而不是字符串比较: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函数

或另一种方法是:print(sorted(raw_input().split(),key=int))要获得最高的成就,请执行以下操作:print(sorted(raw_input().split(),key=int)[0])要获得前三名:print(sorted(raw_input().split(),key=int)[:3])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python