2017-05-23 22 views
-2

私は学生データベースを作成しています。5つの異なる科目に5つのマークを入力したいと思います。 5人の異なる被験者 ループPythonを使用してリスト内のリストにデータを追加

  • 一人の学生のための一つの項目として、5マークを保持するリストについては、5種類のマークを開催します

    1. リスト:私は2つのリストを作成しました。

    複数のリストが表示される1つのリストを出力し、各サブリストには生徒ごとに5つのマークしか表示されません。しかし、私が得た出力はすべてのマークを含むリストです。 希望出力: 第1生徒のマークとして[1,2,3,4,5]、第2生徒のマークとして[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

    まず、コードインデントを修正します。あなたは 'five_marks_of_one_student = []' 'marks_of_different_students.append(five_marks_of_one_student)の後に' ' –

    +0

    あなたはあなたの欲求の出力を提供していただけます。 – mtkilic

    +3

    例として –

    答えて

    0

    は、このソリューションをチェックしてください: あなたが学生の名前を格納することができます結果

    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() 
    

    出力:

    Enter your name : abc 
    Enter marks of 1 subject : 98 
    Enter marks of 2 subject : 15 
    Enter marks of 3 subject : 45 
    Enter marks of 4 subject : 2 
    Enter marks of 5 subject : 2 
    Enter choice y for repeat : y 
    Enter your name : xyz 
    Enter marks of 1 subject : 55 
    Enter marks of 2 subject : 59 
    Enter marks of 3 subject : 68 
    Enter marks of 4 subject : 47 
    Enter marks of 5 subject : 59 
    Enter choice y for repeat : 
    {'abc': [98, 15, 45, 2, 2], 'xyz': [55, 59, 68, 47, 59]} 
    
    +0

    入力の例外も処理できます。 – Gahan

    +0

    リストの代わりにタプルを使用しましたか? –

    関連する問題