使用循环Python将数据添加到列表内的列表中

时间:2017-05-23 12:14:47

标签: python list

我正在建立一个学生数据库,我想为5个不同科目输入5分。我创建了两个列表:

  1. 将为5个不同科目保留5个不同分数的列表
  2. 该列表将为一名学生提供5个标记作为一个项目。
  3. 我希望输出显示一个列表,其中显示了多个列表,每个子列表应该只有每个学生5个标记。但是,我得到的输出是一个包含所有标记的列表。 期望的输出: 如果我输入[1,2,3,4,5]作为第一个学生的标记和[6,7,8,9,10]作为第二个学生的标记,那么该列表应该打印[[1,2,3, 4,5],[6,7,8,9,10]]

    这是我的代码:

    def ad():
        five_marks_of_one_student = []
        marks_of_different_students = []
        choice = "y"
    
        while choice == "y":
            i = 1
            while i <= 5:
                one_mark = int(input("Enter marks of " + str(i) + " subject:"))
                five_marks_of_one_student.append(one_mark)
                i = i + 1
            marks_of_different_students.append(five_marks_of_one_student)
            choice = input("Enter choice y for repeat:")
    
        print(marks_of_different_students)
    
    
    ad()
    

1 个答案:

答案 0 :(得分:0)

检查此解决方案: 你可以用结果存储学生的姓名

formbuilder.group

输出:

def ad():
    marks_of_different_students={}
    choice="y"

    while(choice=="y"):
        name_of_student = input("Enter your name : ")
        i=1
        five_marks_of_one_student=[]
        while(i<=5):
            one_mark=int(input("Enter marks of "+str(i)+" subject : "))
            five_marks_of_one_student.append(one_mark)
            i=i+1
        marks_of_different_students[name_of_student]=five_marks_of_one_student
        choice=input("Enter choice y for repeat : ")
    print(marks_of_different_students)

ad()