我是 python 新手,正在开发一个小项目:
90、75、65、50、40 是以下等级
我的代码:
grade1 = int(input("Enter grade 1:"))
grade2 = int(input("Enter grade 2:"))
grade3 = int(input("Enter grade 3:"))
grade4 = int(input("Enter grade 4:"))
grade5 = int(input("Enter grade 5:"))
numbers = [grade1,grade2,grade3,grade4,grade5]
sorted_grades = sorted(numbers)
topthree = sorted_grades[-1,-2,-3]
但是,在运行 topthird 时我收到错误:
TypeError: list indices must be integers or slices, not tuple
如何避免这种情况?
最佳答案
您需要像这样使用列表切片:
topthree = sorted_grades[:-4:-1]
我知道它说的是-4
,但它占据了前三名。
如果你想使用列表,则需要付出更多的努力:
indices = [-1, -2, -3]
topthree = [sorted_grades[i] for i in indices]
您还可以反向排序:
sorted_grades = sorted(numbers, reverse=True)
topthree = sorted_grades[:3]
关于python - 如何从该列表中找到范围、平均值和前三个值而不出现类型错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54975400/