【发布时间】:2021-09-26 13:51:10
【问题描述】:
我不明白为什么在循环列表时只返回一个值。
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)
我尝试使用 [50.6,48] 列表中的 2 个元素,它只返回 F。
这是我要执行的代码。我将 student_avg 作为正确的输出。但是当我通过第二个 for 循环传递该列表时,我只得到单个输出
第 1 行 = [66, 61, 88, 26, 13] -- 学生 1 第 2 行 = [52, 38, 7, 74, 62] -- 学生 2
所以我们形成一个学生的平均成绩列表并通过它来获得成绩。这就是问题所在。
【问题讨论】:
-
for you 之后需要缩进
-
那是在我的 jupyter notebook 中缩进的。这是我第一次发布问题所以有一些问题
-
您正在检查
range(x,y)中是否存在浮点数。range(x,y)仅包含x和y之间的整数。 -
@AmirrezaRiahi 那么我们应该如何检查。我们需要在浮点类型中比较它们吗?
-
@ChaitanyaSai 使用
>和<=,我已经回答了下面的详细说明。
标签: python python-3.x loops