成绩册:Python

成绩册:Python,python,Python,我一直在写这个程序。这些是给我们的指示 根据作业顶部的指导原则,您不得导入任何模块。这 包括统计模块。 用户应显示从1到5的选项列表 如果用户选择1,则应提示他们输入学生姓名和年级 如果学生未出现在成绩册中,则应删除该学生和成绩 添加到成绩册中 如果学生已经在成绩册中,他们的成绩应更改为该值 鉴于 如果用户选择2,则应提示他们输入学生姓名。 那个学生应该从成绩册上除名 如果学生不在成绩册中,则不应修改成绩册 但也不应显示任何错误。 如果用户选择3,则所有学生的姓名和成绩应显示在 字母顺序 如果用

我一直在写这个程序。这些是给我们的指示

根据作业顶部的指导原则,您不得导入任何模块。这 包括统计模块。 用户应显示从1到5的选项列表 如果用户选择1,则应提示他们输入学生姓名和年级 如果学生未出现在成绩册中,则应删除该学生和成绩 添加到成绩册中 如果学生已经在成绩册中,他们的成绩应更改为该值 鉴于 如果用户选择2,则应提示他们输入学生姓名。 那个学生应该从成绩册上除名 如果学生不在成绩册中,则不应修改成绩册 但也不应显示任何错误。 如果用户选择3,则所有学生的姓名和成绩应显示在 字母顺序 如果用户选择4,则应显示课程的以下统计信息:平均值, 中位数和模式 中位数是排序数字列表中的中间数字 模式是最常出现的值 如果最多出现2个或更多数字,则可以显示其中任何一个。 如果用户选择5,程序应终止 如果选择了任何其他选项,程序应告诉用户它无法识别 选择该选项,并要求用户进行其他选择。 除命令选项外的所有输入都将有效。 您不必匹配输出中的确切空格数 显示成绩和课程统计信息,但至少需要1个空间。 提示:将问题分解为小函数,每个函数处理问题的一部分 问题例如,一个函数用于将学生插入成绩册,另一个函数用于计算平均值,等等。 这就是我到目前为止所做的,有几个错误:

def menuprint():
    print('1. Add/modify student grade.\n')
    print('2. Delete student grade\n')
    print('3. Print student grades\n')
    print('4. Display the course statistics\n')
    print('5. Quit\n')

menuprint()
choice = 0
students = []
grades = []

def addmodify():
    name_points = input('Enter name and points: ')
    nameGrade_list = name_points.split()
    name = nameGrade_list[0]
    points = nameGrade_list[1]
    students.append(name)
    grades.append([points])
def stat():
    for i in range(0,len(students)):
        print("NAME:", students[i])
        print ("GRADES:", grades [i])
def mean(list):
    sum = 0
    floatNums = [float(x) for x in list]
    return sum(floatNums) / len(list)

while choice !=5:
    choice = int(input('Your choice: '))
    if choice == 1:
        addmodify()
        print('Enter name and points:')
    elif choice == 2:
        name = input('Enter name to delete:')
        students.remove(name)



    elif choice == 3:
        gradelist()
        print ('SS')

    elif choice == 4:
        print('Mean', mean(grades))

你应该把它修好。列表是一个关键字,不能在代码中的任何地方用作变量。

您具体想问什么?那么,代码编写服务不是吗?您遇到了什么问题或诸如此类的问题?当我试图获取平均值时,我收到了以下消息:回溯最近的调用:File/Users/shwetadash/Desktop/grades.py,第45行,在print'mean'中,meangrades文件/Users/shwetadash/Desktop/grades.py,第26行,在mean floatNums=[floatx代表列表中的x]File/Users/shwetadash/Desktop/grades.py,第26行,在floatNums=[floatx代表列表中的x]类型错误:float参数必须是字符串或数字,而不是'list'。列表是一个内置函数,不应在任何地方用作标识符。sum也是如此。
def mean(num_list):
    sum = 0
    floatNums = [float(x) for x in num_list]
    return sum(floatNums) / len(num_list)