2016-09-10 6 views
0

私は1か月、1日を選択して生徒の名前を保存できるスクリプトを作成しました。しかし、ループすると、前に入力した情報はすべて消去されます同じ月の日)。私は本当に配列の情報を保存する方法を知りません。扱いにくいすぐに使って、配列を得ることができ、それぞれの新しい生徒の名前を維持文字列情報がカレンダー配列のPythonに保存されない

def chooseDate(dateM, day, month): 
      month = [['January'], ['February'],['March'],['April'],['May'], ['June'],['July'],['August'],['September'],['October'],['November'],['December']] 


      for i in range(0,len(month)): 
       if dateM in month[i]: 
        print("OK") 
        indexM = i 
        month[indexM] = [[] for _ in range(31)] 

        indexD = day - 1 

        month[indexM][indexD] = [[str(day), name]] 

        print(month[indexM]) 




while True: 
    choice = str(input("Y or N: ")) 
    if choice == 'y': 
     dateM = str(input("Month: ")) 
     day = int(input("Day :")) 
     name = str(input("Which Student? ")) 
     chooseDate(dateM, day, name) 
    if choice == 'n': 
     print(month[indexM]) 
     break 

答えて

0

: は、ここで私は、Python 3.0を使用して、私のコードです。毎月2dの配列を作成するリストの理解の代わりに、dayをキーとして使用し、nameの値を値として使用して、毎月dictionaryを作成してみることもできます。

january = {} 
january[1] = ['Student1'] 
january[2] = ['Student2'] 

日は、既にリストに別の名前を追加するためにappendを使用し、その中の学生を持っていた後:

if 1 in january.keys(): 
    january[1].append('Student3') 

print(january[1]) 
# ['Student1', 'Student3'] 
関連する問題