Comparer avec une longueur souhaitée
Dans cette étape, vous apprendrez à comparer la longueur d'une chaîne de caractères avec une longueur souhaitée. C'est une tâche courante en programmation, notamment lors de la validation de l'entrée utilisateur ou du traitement de données qui doivent respecter des critères de longueur spécifiques.
Créons un scénario où nous voulons nous assurer qu'un nom d'utilisateur saisi par un utilisateur a une longueur comprise entre 3 et 10 caractères. Modifiez votre fichier string_length.py
dans le répertoire ~/project
pour inclure ce qui suit :
## filename: string_length.py
username = input("Enter a username: ")
length = len(username)
if length < 3:
print("Username must be at least 3 characters long.")
elif length > 10:
print("Username must be no more than 10 characters long.")
else:
print("Username is valid.")
Enregistrez le fichier et exécutez-le :
python ~/project/string_length.py
Si vous saisissez un nom d'utilisateur trop court :
Enter a username: ab
La sortie sera :
Username must be at least 3 characters long.
Si vous saisissez un nom d'utilisateur trop long :
Enter a username: abcdefghijk
La sortie sera :
Username must be no more than 10 characters long.
Si vous saisissez un nom d'utilisateur valide :
Enter a username: abcdef
La sortie sera :
Username is valid.
Cet exemple montre comment vous pouvez utiliser la fonction len()
pour vérifier si une chaîne de caractères répond à des critères de longueur spécifiques.
Maintenant, considérons un scénario plus complexe où nous voulons valider un mot de passe. Le mot de passe doit avoir une longueur comprise entre 8 et 16 caractères et doit contenir au moins un chiffre. Modifiez votre fichier string_length.py
comme suit :
## filename: string_length.py
password = input("Enter a password: ")
length = len(password)
has_digit = False
for char in password:
if char.isdigit():
has_digit = True
break
if length < 8:
print("Password must be at least 8 characters long.")
elif length > 16:
print("Password must be no more than 16 characters long.")
elif not has_digit:
print("Password must contain at least one digit.")
else:
print("Password is valid.")
Enregistrez le fichier et exécutez-le :
python ~/project/string_length.py
Si vous saisissez un mot de passe trop court :
Enter a password: abcdefg
La sortie sera :
Password must be at least 8 characters long.
Si vous saisissez un mot de passe trop long :
Enter a password: abcdefghijklmnopq
La sortie sera :
Password must be no more than 16 characters long.
Si vous saisissez un mot de passe qui ne contient pas de chiffre :
Enter a password: abcdefgh
La sortie sera :
Password must contain at least one digit.
Si vous saisissez un mot de passe valide :
Enter a password: abcdefg1
La sortie sera :
Password is valid.
Cet exemple montre comment vous pouvez combiner la fonction len()
avec d'autres techniques, comme parcourir la chaîne de caractères pour vérifier la présence de caractères spécifiques, pour effectuer une validation plus sophistiquée.