gpt4 book ai didi

python - Python 中的循环 : not expecting this output

转载 作者:行者123 更新时间:2023-12-05 08:36:23 25 4
gpt4 key购买 nike

我不明白为什么在循环列表时只返回一个值。

def calculateGrade(students_marks):
# Write your code here

students_avg = []
for j in students_marks:
sume = 0
for i in j:
sume = sume+ i
avg = sume/(len(j))
students_avg.append(avg)
print(students_avg)

grade = []
for item in students_avg:
if item >= 90:
grade.append('A+')
elif 80<item<=90 :
grade.append('A')
elif 70<item<=80 :
grade.append('B')
elif 60<item<=70 :
grade.append('C')
elif 50<item<=60:
grade.append('D')
elif item < 50 :
grade.append('F')
print(grade)

我尝试使用列表中的 2 个元素 [50.6,48] 只返回 F

这是我要执行的代码。我得到 students_avg 作为正确的输出。但是当我通过第二个 for 循环传递该列表时,我只得到单个输出

第 1 行 = [66, 61, 88, 26, 13] -- 学生 1第 2 行 = [52, 38, 7, 74, 62] -- 对于学生 2

所以我们形成了一份学生平均分列表,并通过它来获得成绩。这就是问题所在。

最佳答案

您需要缩进代码。而且,每次运行循环时都会创建一个空数组。这样做:

grade = []
for item in students_avg:
if item >= 90:
grade.append('A+')
elif item in range(80,90):
grade.append('A')
elif item in range(70,80):
grade.append('B')
elif item in range(60,70):
grade.append('C')
elif item in range(50,60):
grade.append('D')
elif item < 50 :
grade.append('F')
print(grade)

关于python - Python 中的循环 : not expecting this output,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69335579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com