【发布时间】:2019-08-01 18:14:31
【问题描述】:
import random
athletes = ["John","Mike","Jack","Steve","Bob"]
judges = ["Judge1","Judge2","Judge3"]
numbers = ["1","2","3","4","5","6","7","8","9","10"]
def score():
random.shuffle(numbers)
judge_scores = numbers[0] + numbers[1] + numbers[2]
final = int(judge_scores)
final_2 = sum(final)
print(final_2)
i = 0
while i <= 4:
athlete = athletes[i]
print(athlete + " scored:")
score()
i += 1
if i > 4:
break
我试图让这段代码返回评委为每个运动员给出的随机分数的总和,但我遇到了一个错误,提示
int 对象不可迭代。
我稍微改变了一下,但没有运气,这是我认为最接近的原始代码:
import random
athletes = ["John","Mike","Jack","Steve","Bob"]
judges = ["Judge1","Judge2","Judge3"]
numbers = ["1","2","3","4","5","6","7","8","9","10"]
def score():
random.shuffle(numbers)
judge_scores = numbers[0] + numbers[1] + numbers[2]
final = sum(judge_scores)
print(final)
i = 0
while i <= 4:
athlete = athletes[i]
print(athlete + " scored:")
score()
i += 1
if i > 4:
break
我再次遇到错误。这次我得到这个错误:
TypeError: +: 'int' 和 'str' 的操作数类型不受支持
【问题讨论】:
-
我很确定您的代码 sn-p 不完整,并且您在某处为运动员分配了号码
-
您的
numbers是字符串。使用整数。
标签: python