Überprüfen von Benutzereingaben in Python

Also habe ich fast jede Permutation der Wörter "string", "python", "validate", "user input" usw. durchsucht, aber ich habe noch keine Lösung gefunden, die für mich funktioniert.

Mein Ziel ist es, den Benutzer mit den Zeichenfolgen "yes" und "no" dazu aufzufordern, ob er eine andere Transaktion starten möchte, und ich dachte, dass der Vergleich von Zeichenfolgen in Python ein ziemlich einfacher Vorgang wäre, aber etwas funktioniert einfach nicht Recht. Ich verwende Python 3.X, daher sollte die Eingabe, soweit ich weiß, eine Zeichenfolge ohne unformatierte Eingabe beinhalten.

Das Programm gibt immer ungültige Eingaben zurück, auch wenn Sie "Ja" oder "Nein" eingeben, aber das Seltsame ist, dass jedes Mal, wenn ich eine Zeichenfolge mit mehr als 4 Zeichen Länge oder einen int-Wert eingebe, diese als gültig positiv überprüft wird Programm eingeben und neu starten. Ich habe keine Möglichkeit gefunden, eine gültige negative Eingabe zu erhalten.

endProgram = 0;
while endProgram != 1:

    #Prompt for a new transaction
    userInput = input("Would you like to start a new transaction?: ");
    userInput = userInput.lower();

    #Validate input
    while userInput in ['yes', 'no']:
        print ("Invalid input. Please try again.")
        userInput = input("Would you like to start a new transaction?: ")
        userInput = userInput.lower()

    if userInput == 'yes':
        endProgram = 0
    if userInput == 'no':
        endProgram = 1

Ich habe es auch versucht

while userInput != 'yes' or userInput != 'no':

Ich würde mich sehr freuen, nicht nur bei meinem Problem helfen zu können, sondern wenn jemand zusätzliche Informationen darüber hat, wie Python mit Strings umgeht, wäre das großartig.

Entschuldigen Sie im Voraus, wenn jemand anders bereits eine solche Frage gestellt hat, aber ich habe mein Bestes getan, um zu suchen.

Vielen Dank an alle!

~ Dave

Antworten auf die Frage(2)

Ihre Antwort auf die Frage