2016-06-02 5 views
0

Ich versuche, ein Python-Programm zu erstellen, um eine Benutzereingabe des Jahres des Autos zu nehmen, und danach das Modell (keine Notwendigkeit für das make it wird nur Ford enthalten). Und mit dem Jahr und Modell bezieht sich das Programm auf das richtige Jahr und Modell und erhält die entsprechenden Kapazitätsinformationen des Fahrzeugs (Motoröl, Kühlmittel, Bremsflüssigkeit usw.).mehrere Wörterbücher verschachteln, möglicherweise Listen?

Meine Frage kommt mit, wie gehe ich zum Speichern dieser Informationen?
Ich dachte daran, eine car_list dict zu machen und zu den Schlüsseljahren nest das erste Jahr 1998 in diesem Nest eine Liste der Autos in diesem Jahr, und in jedem Auto nest ein Wörterbuch der Spezifikationen.

car_list = {'years' : {1998 : [{'accord': {'oil' : '4.0 qts', 'coolant': '2 gals'} 'civic': {'oil': '4.5 qts', 'coolant': '3 gals'}]} 

Funktioniert das? Gehe ich falsch herum?

Antwort

0

Verwenden von Wörterbuch ist eine gute Idee hier. Aber dein Code sieht nicht richtig aus. Verwenden Sie dieses Format:

car_list = {'1998': {'Übereinstimmung': {'Öl': '4.0 qts', 'Kühlmittel': '2 Gallonen'}, 'Civic': {'Öl': ' 4,5 qts', 'Kühlmittel': '3 gals'}}}

print (car_list [ '1998'] [ 'bürgerliche'] [ 'Öl'])

0

Sie alle Informationen in einem speichern geschachteltes Wörterbuch, ich denke, das ist der beste Weg. Das Wörterbuch kann wie folgt aussehen:

car_list = {"1998":{"ka":["4.0 qts", "2 gals"], 
        "fiesta":["3.0 qts", "2.3 gals"]}, 
      "2001":{"kuga":["3.3 qts", "3 gals"], 
        "mondeo":["4.0 qts", "3.5 gals"]}} 

Wenn Sie den Benutzer über input() für das Jahr und Auto fragen, können Sie alle Informationen, indem Sie einmal drucken, wenn Sie ein for-Schleife verwenden:

input_year = input("Year?\n> ") 
input_car = input("Car?\n> ") 

for info in car_list[input_year][input_car]: 
    print(info) 

oder geben ihnen die Informationen, eins nach dem anderen:

input_year = input("Year?\n> ") 
input_car = input("Car?\n> ") 
i = car_list[input_year][input_car] 

print("Oil: {}\nCoolant: {}".format(i[0], i[1])) 
2

einfaches Programm, das Ihr Problem (in python3) lösen kann:

model=input("model:") 
year=input("year:") 
query={model1:{year1:specs1,year2:specs2 ... }, model2:{ ... } ... } 
print(query[model][year]) 

Die Spezifikationen können entweder Liste oder Wörterbuch sein. Es hängt davon ab, wie Sie die Daten verwenden möchten. Das Programm fragt nach Benutzereingaben und druckt Ihnen dann die Spezifikationen des gewünschten Jahres und Modells als Liste oder Wörterbuch aus. Die Ausgabe sollte so manipuliert werden, dass sie Ihren Anforderungen entspricht.