Die überprüfung von Benutzereingaben python
In meinem inputCheck-Funktion, wenn der Benutzer die Eingabe durch geführt wird, nachdem er überprüft, ob eine akzeptable Eingabe muss bestätigt werden, dass durch die print-Meldung und führen Sie dann eine andere Funktion - es jedoch nicht tun und ich kann nicht herausfinden, warum - Wären Sie in der Lage zu beraten, wie das problem zu lösen? Vielen Dank!
def main():
print('WELCOME TO THE WULFULGASTER ENCRYPTOR 9000')
print('==========================================')
print('Choose an option...')
print('1. Enter text to Encrypt')
print('2. Encrypt text entered')
print('3. Display Encrypted Text!')
menuChoice()
def menuChoice():
valid = ['1','2','3']
userChoice = str(input('What Would You Like To Do? '))
if userChoice in valid:
inputCheck(userChoice)
else:
print('Sorry But You Didnt Choose an available option... Try Again')
menuChoice()
def inputCheck(userChoice):
if userChoice == 1:
print('You Have Chosen to Enter Text to Encrypt!')
enterText()
if userChoice == 2:
print('You Have Chosen to Encypt Entered Text!')
encryptText()
if userChoice == 3:
print('You Have Chosen to Display Encypted Text!')
displayText()
def enterText():
print('Enter Text')
def encryptText():
print('Encrypt Text')
def displayText():
print('Display Text')
main()
- Ich verstehe nicht, Ihre Frage.
- lassen Sie mich Bearbeiten Sie Frage, sorry
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konvertieren Sie die Eingabe des Benutzers, um eine Zeichenfolge (
str(input('What ...'))
), aber vergleichen Sie es mit ganzen zahlen ininputCheck
. Da es keineelse
Weg ininputCheck
nichts passiert, wenn Sie geben Sie eine "gültige" Wahl.Auch, wenn du mit Python 2, mit
input
ist nicht, was Sie wollen,raw_input
ist der Weg zu gehen (siehe zum Beispiel Was ist der Unterschied zwischen raw_input() und input() in Python ist3.x?).Andere als das, rekursiv aufrufen
menuChoice
Wann immer der Benutzer eine illegale Wahl ist sehr wahrscheinlich eine schlechte Idee: geben Sie eine illegale Wahl, ein paar hundert oder tausend mal und wird Ihr Programm Abstürzen (abgesehen von der Verschwendung, die viel Speicher). Sollten Sie den code in eine Schleife: