Bra*_*den 4 python max python-2.7
这是我的代码
def max_array_diff(line):
return max(line)
line = raw_input().split()
print max_array_diff(line)
print line
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出
9
['1', '9', '2', '-7', '10', '4', '3']
Run Code Online (Sandbox Code Playgroud)
我需要输出为10. raw_input()以字符串形式出现,我已将其转换为列表并尝试从中获取最大值但它仍然返回9而不是10.我做错了什么?
你应该在分割后将输入转换为整数; 否则你将进行字符串比较max().
更改:
line = raw_input().split()
Run Code Online (Sandbox Code Playgroud)
至:
line = map(int, raw_input().split())
Run Code Online (Sandbox Code Playgroud)
或者,您可以指定int为key对功能max(),这样的比较将基于字符串输入的整数值进行.
更改:
return max(line)
Run Code Online (Sandbox Code Playgroud)
至:
return max(line, key=int)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
302 次 |
| 最近记录: |