我是个初学者。 我正在努力使每个学生的名字将对应于每个年级的平均成绩,并显示学生之间的总平均分的学生等级。 这是我的密码:
Ken = [5,8,9]
Hiro = [10,11,20]
Nick = [20,20,20]
list1 = [Ken,Hiro,Nick]
total_average = 0
for j in list1:
x = 0
count = 0
for i in j:
x += i
count += 1
average = x / count
print (round(average,2))
total_average += average
final_average = total_average / len(list1)
print (round(final_average,2))
结果是:
7.33
13.67
20.0
13.67
但是,我实际上想要生成返回如下的代码:
13.67, {'Ken': 13.67, 'Hiro': 20.0, 'Nick': 13.67}
我怎么能这样表达呢?你知道吗
如果您能解释一下细节,我们将不胜感激!!你知道吗
试着用字典代替列表。 初始化字典: 学生={'Hiro':0,'Ken':0,'Nick':0}
然后根据计算的平均值赋值: 学生={'Hiro':20.0,'Ken':13.67,'Nick':13.67}
打印(学生)
我建议用
{name, scores, average_score}
将学生表示为字典。你所有的学生都会有一个字典列表:现在您可以这样迭代它们:
所有的学生都在一个列表中,很容易做你想要的格式化,只需在所有学生中循环,并按你想要的顺序打印他们的名字和平均分数。你知道吗
我建议另一种方法。首先,你把你的名字和成绩储存在字典里:
然后,在字典上循环,计算每个学生的平均数,并准备计算全球平均数:
最后,计算全球平均值:
以下是完整的代码,其中计算被封装在一个函数中:
相关问题 更多 >
编程相关推荐