total = {}
count = 0
while(count < 4):
_input = input()
count = count + 1
total[_input] = 0
for i in range(5):
_input2 = int(input())
total[_input] = total[_input] + _input2
print(total)
Virat,101,88,93,0,120
Rohit,50,100,30,140,80
Sky,10,20,30,40,50
Shreyas,100,0,0,100,0
预期输出:
{“维拉特”:402,“罗希特”:400,“天空”:150,“Shreyas”:200}
代码在我的系统上运行得很好,但显示错误
ValueError:以 10 为基数的 int() 的文字无效
我在哪里解决问题
如果您一一输入,我检查了您的代码运行良好。喜欢,
Virat
101
88
93
0
120
Rohit
50
..
如果你想提供像
Virat,101,88,93,0,120
这样的输入,它会存储像{'Virat,10,20,30,40,50': 0}
这样的值
第二个输入是 '' ,当它执行 int('')
时,它会抛出: ValueError: invalid literal for int() with base 10: ''
但是如果你想像
Virat,101,88,93,0,120
那样输入,下面是修改后的代码:
total = {}
count = 0
while(count < 4):
_input = input()
count = count + 1
name = _input.split(',')[0]
runs = _input.split(',')[1:]
total[name] = 0
for run in runs:
total[name] = total[name] + int(run)
print(total)
您可以在其中输入与显示相同的内容:
Virat,101,88,93,0,120
Rohit,50,100,30,140,80
Sky,10,20,30,40,50
Shreyas,100,0,0,100,0
并获得如下输出:
{'Virat': 402, 'Rohit': 400, 'Sky': 150, 'Shreyas': 200}