2016-09-10 2 views
0

Ich habe ein Skript erstellt, mit dem ich einen Monat und dann einen Tag auswählen und den Namen eines Schülers speichern kann. Bei einer Schleife werden alle zuvor eingegebenen Informationen gelöscht (bei Auswahl eines anderen) Tag im selben Monat). Ich weiß wirklich nicht, wie man die Informationen auf dem Array speichert. Hier ist mein Code, ich benutze Python 3.0:Zeichenketteninformationen werden nicht im Kalenderarray gespeichert 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 

Antwort

0

jeden neuen Studentennamen halten konnte unhandlich schnell mit Arrays erhalten. Anstelle des Listenverständnisses, das für jeden Monat ein 2-D-Array erstellt, könnten Sie versuchen, für jeden Monat eine zu erstellen, statt day als Ihren Schlüssel und eine Liste von name als Ihre Werte.

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

Nach einem Tag bereits ein Student in sich hat, verwenden append einen anderen Namen zur Liste hinzuzufügen:

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

print(january[1]) 
# ['Student1', 'Student3'] 
Verwandte Themen