不了解此ValueError的原因

时间:2019-12-12 08:48:40

标签: python python-3.x runtime-error

score_board = []
for i in range(0, int(input())):
    score_board.append(int(input()))
new_board = sorted(list(set(score_board)), reverse=True)
print(new_board[1])

获取运行时错误。 有人可以指出我在代码中犯的错误吗?我正在尝试在hackerrank中上传代码,但我建议以下提到的错误。我的代码问题在笔记本电脑上工作。我无法解决这个问题,请给我。鉴于您在大学运动日的成绩单,您需要找到亚军得分。您会得到分数。将它们存储在列表中并找到第二名的分数。打印第二名的分数。

回溯:

Error (stderr)
Traceback (most recent call last):
  File "Solution.py", line 3, in <module>
    score_board.append(int(input()))
ValueError: invalid literal for int() with base 10: '2 3 6 6 5'

input (stdin)
`5`
`2 3 6 6 5`

2 个答案:

答案 0 :(得分:0)

您必须输入数字而不是字符串。

您的输入应如下所示

5
2
3
6
6
5

最诚挚的问候

答案 1 :(得分:0)

您正在将多个项目传递到append,该项目仅接受单个项目。如果您想一次将多个项目添加到列表中,请尝试使用extend

score_board = []
for i in range(int(input())):
    score_board.extend([int(x) for x in input().split()])
new_board = sorted(list(set(score_board)), reverse=True)
print(new_board[1])

这将适用于您当前的输入样式。您也无需在for循环中指定0,因为它自动从0开始。