首页 > 解决方案 > 如何从python中的列表中分配等级

问题描述

我正在创建一个程序,该程序将用户存储在列表中并获取他们的分数,然后对他们进行评分。我已经完成了用户输入部分和标记以及它们的平均值,但我正在努力给他们评分并将其与他们的名字一起打印,所以它就像名字标记等级一样。如果有人可以帮助我,我将非常感激这是我的代码

students=[] 
for i in range (2):
    x=(input("Enter Student Name. \n")) 
    students.insert(i,x)
    i+=1
print(students)



grades = []
for student in students:
    grade = eval(input(f"Enter the grade for {student}: "))
    grades.append(grade)

result = list(zip(students, grades))
print(result)


average = sum(grades) / len(grades)
print ( "Average is: " + str(average))
total = sum(grades)
# print ("Total is: " + str(total))
print("Highest marks", max(list(zip(grades, students))))
print("Lowest marks", min(list(zip(grades, students))))

## To do assign grades to each according to their marks

标签: pythonpython-3.xlist

解决方案


我正在努力给他们评分并将其与他们的名字一起打印,这样它就像名称标记等级一样。

看下面 - 它使用 zip 和 loop

names = ['Jack','Dan']
grades = [67,86]

def _get_grade(grade):
  if grade < 50:
    return 'C'
  elif grade >= 50 and grade <= 75:
    return 'B'
  else:
    return 'A'
for name,grade in zip(names,grades):
  print(f'Name: {name} - Grade: {_get_grade(grade)}')

推荐阅读