Python Projekt - Buchung klappt nicht

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Python123.py
User
Beiträge: 12
Registriert: Freitag 20. Dezember 2019, 12:39

Hallo,
wir haben eine Aufgabe bekommen, in der wir für ein Flugzeug eine Sitzplatzreservierung bzw. Sitzplatzbuchung programmieren sollen.
Bei der Buchung gibt es schon ein Problem.
Die Buchung wird erfolgreich vorgenommen, aber wenn man eine weitere Buchung machen möchte, wird die alte nicht gespeichert und die neue Buchung bekommt die Buchungsnummer der alten Buchung.
Was mache ich falsch?

Hier ist der Code:

Code: Alles auswählen

 
    booking_number = int(11111)
    booked_seats = {}
        if menu in ["1", "1.", "Book a seat", "1. Book a seat"]:
        while True:
            name_input = input("Please enter the surname of the customer: ")
            seat_input = input("Please enter the seat (e.g. 1C, 13F): ")
            booked_booking_number = booking_number + 1
            booked_seats[booked_booking_number] = [name_input, seat_input]
            print(booked_seats)
            print()
            
            [...] <- Hier wurde lediglich eine neue Abfrage gemacht.
            
            else:
                print("The value that you've entered is not available!")
                print()
                break
Ich wünsche noch einen schönen Abend.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wenn du eine neue Variable booked_booking_number einfuehrst, die sich aus der bestehenden booking_number + 1 ableitet, und letztere nie inkrementierst - dann wird natuerlich immer die gleiche Nummer vergeben. Stell den Code auf booking_number um, und erhoehe die mit

Code: Alles auswählen

booking_number += 1
um eins.
Sirius3
User
Beiträge: 18272
Registriert: Sonntag 21. Oktober 2012, 17:20

Wenn Du ein Wörterbuch mit Schlüsseln hast, die nur aufsteigende Nummern sind, dann möchtest Du eigentlich eine Liste statt dessen verwenden, denn der Index in die Liste ist das selbe, wie Dein künstlich erzeugter Schlüssel. Oder willst Du eigentlich das Wörterbuch umdrehen, denn eigentlich will man ja die schon belegten Sitzplätze schnell abfragen können.

Code: Alles auswählen

booked_seats[seat_input] = (booking_number, name_input)
Antworten