首页 > 解决方案 > 我该如何解决?“不支持的操作数类型”

问题描述

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

我再次遇到错误。这次我得到这个错误:

类型错误:+ 不支持的操作数类型:“int”和“str”

标签: python

解决方案


您是否有一个带有数字的列表,因为 str 尝试将数字更改为 numbers = [1,2,3,4,5,6,7,8,9,10]


推荐阅读