我对这个很陌生。我在过去的6个小时里试图做这个作业(:(),这是我正在尝试的第7个版本的代码,我有一个输入文件,里面有学生的名字和成绩(10个学生的名字,每个学生有3个成绩,我试着输入,但是直到出现错误我才看到任何结果,我似乎在努力分配成绩,并从中得到一个平均数。我还有别的办法吗
我试着把输入分成不同的学生,然后试着让程序读名字和年级,最后是平均分
with open('grades1.txt') as f:
content = [line.split() for line in f]
keys = content[0]
lst = list(zip([keys]*(len(content)-1), content[1:]))
x = [zip(i[0], i[1]) for i in lst]
z = [dict(i) for i in x]
Name,grade1,grade2,grade3 = x.split()
subjects = [float(name), float(grade1), float(grade2),
float(grade3)]
sum = 0
zero_count = 0
for subject in subjects:
sum += subject
if subject is 0:
zero_count +=
print(i, sum/(len(subjects)-zero_count)
我试过的都没用, 我经常遇到语法错误等。下面是作业的链接:
https://i.stack.imgur.com/cu0q1.png\
输入: 汤姆4.5 戴恩 钍 梅里亚多克1.0 2.3 4.5 山姆2.4 6.5 4.7 戈勒姆1.8 6.7 5.3 佛罗多9.1 3.7 8.5 甘道夫5.1 5.5 6.9 Peregrijn第3.0节第8.5节第3.1节 布鲁因2.0 6.0 2.5
输出: 汤姆的平均成绩是 丹的平均成绩是x 钍的平均品位是x 梅里亚多克的平均成绩是x 萨姆的平均成绩是x Gollem的平均成绩是x 弗罗德的平均成绩是x 甘道夫的平均成绩是x 佩雷格里恩的平均成绩是x 布鲁因的平均成绩是x 报告结束
我不确定我是否理解你的代码,但这里有一个相当简单的方法。解释见注释:
相关问题 更多 >
编程相关推荐