Au cours du processus d'apprentissage, nous rencontrons souvent l'utilisation de while True. Voici un exemple pour illustrer :
Établissez un système de connexion utilisateur. L'utilisateur saisit le nom d'utilisateur et le mot de passe s'ils sont corrects, ils peuvent accéder au système.
1. Ma façon originale d'écrire :
d = {} #数据库字典,所有用户的用户名密码存储在此 name = input("请输入您的用户名:") if name in d: password = input("请输入您的密码") if d[name] == password: print('进入系统') else: print('您输入的密码错误,请重新输入') else: print('您输入的用户名不正确,请重新输入')
Le programme que j'ai écrit semble être logiquement correct :
——Laissez d'abord l'utilisateur entrer un nom d'utilisateur. Si le nom d'utilisateur existe, l'utilisateur continue à saisir un mot de passe. Si le mot de passe est correct, le système est entré. Si le mot de passe est incorrect, saisissez-le à nouveau.
——Si le nom d'utilisateur n'existe pas, le message "Le nom d'utilisateur que vous avez saisi est incorrect, veuillez le saisir à nouveau"
Mais pendant l'opération réelle, si le nom d'utilisateur et le mot de passe saisis par l'utilisateur a tous les deux raison, bien sûr il n'y a pas de problème. Mais si une saisie est incorrecte, le système affichera uniquement "Le nom d'utilisateur que vous avez entré est incorrect, veuillez le ressaisir" ou "Le mot de passe que vous avez entré est incorrect, veuillez le ressaisir".
En d'autres termes, si une erreur se produit et qu'il n'y a pas de retour à l'endroit d'origine, demandez la poursuite de la saisie.
2. Utilisez l'instruction de boucle while True :
L'idée principale de l'utilisation de cette instruction est que si une erreur se produit, la boucle peut continuer.
d = {} while True: name = input('请输入您的用户名:') if name in d: break else: print('您输入的用户名不存在,请重新输入') continue while True: password = input('请输入您的密码:') if d[name] == password: print('进入系统') break else: print('您输入的密码不正确,请重新输入') continue
Le programme ci-dessus peut atteindre l'objectif souhaité : lorsque le nom d'utilisateur ou le mot de passe est mal saisi, revenez au début et demandez la poursuite de la saisie.
while True Il doit y avoir une instruction break pour terminer la boucle, sinon la boucle continuera.
Bien sûr, nous avons constaté que si le mot de passe est erroné, vous serez invité à avoir plusieurs chances de saisir le mot de passe. Cela peut être réalisé comme ceci :
count = 5 while count: password = input('请输入您的密码:') if d[name] == password: print('进入系统') break else: count -= 1 print('您输入的密码不正确,还有{}次输入机会'.format(count)) continue
Merci à tous d'avoir lu, j'espère que vous en bénéficierez beaucoup.
Cet article est reproduit à partir de : https://blog.csdn.net/geerniya/article/details/77524173
Tutoriel recommandé : "Tutoriel Python"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!