我需要一些关于如何完成这个项目的建议。可能有一种更干净、更流畅的方法来编写它,因此任何帮助都会受到欢迎。下面是说明:
创建一个程序,对课程的最终成绩进行分析。程序必须使用循环,并在添加时将每个年级追加到列表中。该程序要求用户输入10名学生的最终成绩(占总成绩的百分比)。程序随后将显示以下数据:
全班最高的分数。
全班最低的分数。
全班平均分
这是我目前所拥有的。当我运行它时,我的平均值是错误的。我还认为有某种范围或索引函数来做循环部分?如果你想再加一分的话,我不想每次输入后都问你。
def main():
scores = get_scores()
total = get_total(scores)
average = total/len(scores)
my_list = [get_scores]
print('The lowest score is: ', min(scores))
print('The highest score is: ', max(scores))
print('the average is: ', average)
def get_scores():
test_scores = []
again = 'y'
while again == 'y':
value = float(input('Enter score: '))
test_scores.append(value)
print('Do you want to enter another score?')
again = input('y =yes, anything else = no: ')
print()
return test_scores
def get_total(value_list):
total = 0.0
for num in value_list:
total += num
return total
main()
谢谢你花时间看这个。欢迎任何帮助,我是编程新手,从你的反馈中学到了很多。
谢谢大家的反馈。我把你所有的建议都拼凑出来了。
def main():
scores = get_scores()
total = get_total(scores)
average = total/len(scores)
my_list = [get_scores]
print('The lowest score is: ', min(scores))
print('The highest score is: ', max(scores))
print('the average is: ', average)
def get_scores():
test_scores = []
for scores in range(10):
value = float(input('Enter score: '))
test_scores.append(value)
return test_scores
def get_total(value_list):
total = 0.0
for num in value_list:
total += num
return total
再次感谢大家的帮助和建议。这东西对我来说越来越难了,但我会继续努力的:)谢谢大家/
main()
最佳答案
您的问题是return total
缩进太远了-它在for
循环中,因此它只在第一个项添加到列表后返回。它只是对内置sum
函数的重新实现,因此您可以完全摆脱它。我厌倦了一直打“y”,所以当我在这里的时候,提示就变淡了。
def main():
scores = get_scores()
total = sum(scores)
average = total/len(scores)
print('The lowest score is: ', min(scores))
print('The highest score is: ', max(scores))
print('the average is: ', average)
def get_scores():
test_scores = []
print("Enter scores, one per line, terminating with an empty line")
while True:
entry = input('> ').strip()
if not entry:
break
try:
test_scores.append(float(entry))
except ValueError:
print("ERROR: {!r} is invalid, try that one again.".format(entry))
return test_scores
main()
关于python - python使用测试成绩列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43214120/