La vérification de la saisie de l'utilisateur de python
Dans mon inputCheck fonction lors de l'entrée des l'utilisateurs est passé par après avoir vérifié qu'il est acceptable d'entrée doit être confirmé par le message d'impression, puis exécuter une autre fonction - toutefois, il ne faut pas le faire et je ne peux pas comprendre pourquoi voulez-vous être en mesure de vous conseiller sur la façon de résoudre le problème? Merci beaucoup!
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()
- Je ne comprends pas votre question.
- permettez-moi de modifier une question désolé
Vous devez vous connecter pour publier un commentaire.
Vous convertir l'entrée de l'utilisateur à une chaîne de caractères (
str(input('What ...'))
), mais le comparer à des entiers dansinputCheck
. Puisqu'il n'est paselse
chemin dansinputCheck
, rien ne se passe lorsque vous entrez dans un "valide" choix.Aussi, si vous êtes à l'aide de Python 2, à l'aide de
input
n'est pas ce que vous voulez,raw_input
est le chemin à parcourir (voir, par exemple Quelle est la différence entre raw_input() et input() dans python3.x?).Autres que que, de manière récursive, à l'appel de
menuChoice
chaque fois que l'utilisateur entre une illégales choix est très probablement une mauvaise idée: entrée illégale d'un choix de quelques centaines ou des milliers de fois et votre programme plantera (en dehors de déchets beaucoup de mémoire). Vous devez mettre le code dans une boucle: