python-3.x - Python3-调用什么变量
问题描述
在你批评我之前,我知道我是一个基本的程序员,可能永远不会找到工作或成为好人。但我需要帮助。你的帮助。我不知道在我的函数中调用什么变量来打印我的平均成绩和分数。下面提供的是我的代码,你介意看看吗,谢谢。
def assigngrades(scores):
avg = sum(scores)/len(scores)
print(avg)
for val in scores:
if val > avg + 10:
grade = 'A'
elif val > avg + 5:
grade = 'B'
elif val > avg -5:
grade = 'C'
elif val > avg - 10:
grade = 'D'
else:
grade = 'F'
grades.append(grade)
print("in assigngrades, grades: ",grades)
return grades
def printsummary(grades):
print('ID Score Average Grade')
print('===========================================')
print( )
for val in range(len(ids)):
print('val', val)
print(ids,' ',scores, ' ', grades)
return
#main
ids = []
scores = []
grades = []
STOP = 0
id = int(input("Enter an ID:"))
while id > STOP:
ids.append(id)
score = eval(input("Enter a score:"))
scores.append(score)
id = (input("Enter an ID number, 0 to STOP:"))
grades = assigngrades(scores)
print("after while loop")
print("Ids:", ids, "Scores:", scores, "Grades:", grades)
printsummary(grades)
感谢您的帮助,我非常感谢您的宝贵时间。
解决方案
您应该将assigngrades
成绩和平均值作为一个元组返回,并printsummary
取平均值作为输出:
def assigngrades(scores):
avg = sum(scores) / len(scores)
for val in scores:
if val > avg + 10:
grade = 'A'
elif val > avg + 5:
grade = 'B'
elif val > avg - 5:
grade = 'C'
elif val > avg - 10:
grade = 'D'
else:
grade = 'F'
grades.append(grade)
return grades, avg
def printsummary(ids, scores, grades, avg):
print('%7s%7s%7s' % ('ID', 'Score', 'Grade'))
print('=' * 21)
for id, score, grade in zip(ids, scores, grades):
print('%7s%7s%7s' % (id, score, grade))
print('Average: %f' % avg)
ids = []
scores = []
grades = []
STOP = 0
while True:
id = int(input("Enter an ID:"))
if id <= STOP:
break
ids.append(id)
score = int(input("Enter a score:"))
scores.append(score)
grades, avg = assigngrades(scores)
printsummary(ids, scores, grades, avg)
样本输入和输出:
Enter an ID:12
Enter a score:84
Enter an ID:13
Enter a score:95
Enter an ID:19
Enter a score:74
Enter an ID:0
ID Score Grade
=====================
12 84 C
13 95 A
19 74 F
Average: 84.333333
推荐阅读
- r - 如何放大地图的多个点并将它们全部包含在单独的面板中?
- python - 将里面的字典转换成嵌套字典中的列表
- shell - 如何使用 awk 将 mac addr 转换为 int?
- sql - Django Need help no such table: network_profile
- javascript - 为什么我无法从 API 获取请求中动态呈现我的电影列表
- javascript - 如何让函数等到建立数据库连接后再继续?
- mysql - Oracle 查询 Aurora MySQL 5.7
- javascript - 汇总 node_modules 的完整文件路径或将每个外部模块捆绑在单独的目录中
- php - 如何使 laravel 成为我项目的作曲家依赖项
- regex - regexp_substr 正在跳过所有 &X