Validation de l’entrée utilisateur en Python #
Pour valider l’entrée de l’utilisateur :
- Utilisez un
while
pour itérer jusqu’à ce que la valeur d’entrée fournie soit valide. - Vérifier si la valeur d’entrée est valide à chaque itération.
- Si la valeur est valide, sortez de la chaîne
while
boucle.
num = 0
while True:
try:
num = int(input("Enter an integer 1-10: "))
except ValueError:
print("Please enter a valid integer 1-10")
continue
if num >= 1 and num <= 10:
print(f'You entered: {num}')
break
else:
print('The integer must be in the range 1-10')
password = ''
while True:
password = input('Enter your password: ')
if len(password) < 5:
print('Password too short')
continue
else:
print(f'You entered {password}')
break
print(password)
Le premier exemple valide la saisie numérique de l’utilisateur dans un fichier de type while
boucle.
Si le try
se termine avec succès, alors l’utilisateur a saisi un nombre entier.
num = 0
while True:
try:
num = int(input("Enter an integer 1-10: "))
except ValueError:
print("Please enter a valid integer 1-10")
continue
if num >= 1 and num <= 10:
print(f'You entered: {num}')
break
else:
print('The integer must be in the range 1-10')
Le site if
vérifie si le nombre entier est compris entre 1 et 10 et, si la condition
est remplie, nous sortons de l’instruction while
boucle.
Le site
break
permet de sortir de l’enveloppe la plus proche de l’instruction for
ou while
boucle.
Si le nombre entier n’est pas dans l’intervalle spécifié, la fonction else
s’exécute et imprime un message
message.
Si l’utilisateur n’a pas saisi un nombre entier, le bloc except
s’exécute, où nous utilisons la méthode
continue
pour inviter à nouveau l’utilisateur.
Le site continue
continue avec l’itération suivante de la boucle.
Lors de la validation de l’entrée utilisateur dans un while
nous utilisons la fonction continue
lorsque l’entrée n’est pas valide, par exemple dans une except
ou un bloc if
déclaration.
Si l’entrée est valide, nous utilisons la méthode break
pour sortir du programme while
boucle.
La fonction d’entrée
prend une option prompt
argument et l’écrit sur la sortie standard sans
nouvelle ligne de fin.
La fonction lit ensuite la ligne depuis l’entrée, la convertit en une chaîne de caractères et retourne
le résultat.
Notez que la fonction input()
est toujours assurée de renvoyer une chaîne de caractères, même si l’utilisateur saisit un nombre.
Vous pouvez utiliser la même approche pour valider les chaînes de caractères saisies par l’utilisateur.
Voici un exemple qui invite l’utilisateur à entrer jusqu’à ce qu’il saisisse une valeur d’au moins 5 caractères.
une valeur d’au moins 5 caractères.
password = ''
while True:
password = input('Enter your password: ')
if len(password) < 5:
print('Password too short')
continue
else:
print(f'You entered {password}')
break
print(password)
Le site while
continue d’itérer jusqu’à ce que l’utilisateur entre une valeur qui a une longueur
d’au moins 5.
Si la valeur est trop courte, nous utilisons la fonction continue
pour passer à l’itération suivante.
Si la valeur comporte au moins 5 caractères, nous utilisons l’instruction break
comme l’instruction
l’entrée est valide.
Vous pouvez utiliser la fonction booléenne or
et and
opérateurs si vous avez besoin de vérifier
plusieurs conditions.
Voici un exemple qui vérifie si la valeur d’entrée fait au moins 5 caractères de long
et ne figure pas dans une liste de valeurs.
password = ''
common_passwords = ['abcde', 'asdfg']
while True:
password = input('Enter your password: ')
if len(password) < 5 or password in common_passwords:
print('Pick a strong password')
continue
else:
print(f'You entered {password}')
break
print(password)
Le site if
vérifie si le mot de passe est inférieur à 5
caractères ou est dans
la liste des mots de passe couramment utilisés.
Nous avons utilisé le booléen or
donc l’opérateur if
s’exécute si l’une des deux conditions
conditions est remplie.
Si le mot de passe est inférieur à 5
caractères ou est contenu dans la liste des mots de passe les plus utilisés, nous continue
à l’itération suivante et demandons à nouveau à l’utilisateur.
Utilisez la fonction and
opérateur booléen si vous avez besoin de vérifier si plusieurs conditions sont
sont remplies lors de la validation de l’entrée.
password = ''
common_passwords = ['abcde', 'asdfg']
while True:
password = input('Enter your password: ')
if len(password) > 5 and password not in common_passwords:
print(f'You entered {password}')
break
else:
print('Pick a strong password')
continue
print(password)
Nous avons utilisé l’opérateur and
l’opérateur booléen, donc pour le if
s’exécute, les deux conditions
doivent être remplies.
Le mot de passe doit être plus long que 5
caractères et il ne doit pas figurer dans la
liste des mots de passe couramment utilisés.
Si les conditions sont remplies, on utilise le break
pour sortir du programme
while True
boucle.
Si les conditions ne sont pas remplies, nous utilisons la fonction continue
pour passer à l’itération
l’itération suivante.