Ich kann nicht in der Lage sein, dies zu tun. Ich habe ein großes Programm, das etwas modifiziert werden muss.Überprüfen von Benutzeroptionen - Python
Alles, was ich tun muss, ist sicherzustellen, dass der Benutzer nicht fortfahren kann, bis eine gültige Option eingegeben wurde. Alles andere als "1", "2", "3" und "4" ist ungültig.
def GetResponse():
global Response
Response = (input("Enter Option number: "))
Wenn dies der Code ist, fährt das Menü angezeigt wird, wenn irgendetwas eingegeben wird. Es passiert nichts, außer dass das Menü immer wieder auftaucht. (String oder beliebige Zahlen), aber wenn ich etwas ändern und die Antwort integer machen nur:
def GetResponse():
global Response
Response = (int(input("Enter Option number: ")))
hier dann, wenn eine gültige Option eingegeben gelangen Sie zu dieser Option, während, wenn ich ein Stück Text eingeben Es gibt einen Fehler (ich weiß es)
Was ich verwirrt bin, ist, warum, wenn ich zu int ändere, nur dann wird es auf die eingegebenen Optionen reagieren, während, wenn ich die Int wegnehmen, bekomme ich keine Fehler, aber gleichzeitig reagiert das Programm nicht auf gültige Eingaben.
Es tut uns leid, wenn das Informationen unklar ist. Es ist der beste Weg, um es zu erklären. Eine tatsächliche Antwort
Ihre Einrückung ist falsch. Außerdem benutzen wir normalerweise 'lower_case' für Variablen und Funktionen und reservieren' CamelCase' für Klassen. Außerdem wäre es besser, eine Antwort zurückzugeben, anstatt eine globale Variable zu ändern. – katrielalex
Um den Vorschlag von @ katrielalex zu erläutern: Globals sind schlecht - sie ermutigen einen Codierungsstil, der jedem Teil des Programms erlaubt, Werte zu ändern, die von anderen Teilen des Programms verwendet werden. Dies führt zu Problemen, wenn ein Teil Ihres Codes einen Wert ändert, wenn Sie es nicht erwartet haben und das gesamte Programm in Ihrem Gesicht explodiert. –
Ich habe die Einrückung korrigiert, so dass der Code Syntaxüberprüfungen bestehen wird. –