Python While循环控制结构求助:统计用户输入正确名称的尝试次数
修正Python循环计数器代码实现需求
我来帮你搞定这个程序的实现,先看看你的代码里存在的几个小问题,再给出正确的版本:
原代码的问题
- 变量
name在循环开始前没有定义,第一次判断name != user会直接抛出NameError - Python里关键字
while必须小写,你写的While会被当成普通变量,触发语法错误 While name == user continue这句完全不符合语法逻辑,不需要这样的语句
正确实现代码(两种可选写法)
写法一:用无限循环+break(逻辑更直观)
counter = 0 target_user = "Joe" while True: # 每次循环获取用户输入 name = input("请输入名称:") # 每输入一次就计数+1 counter += 1 # 判断输入是否匹配目标名称,匹配则退出循环 if name == target_user: break # 循环结束后输出结果 print(f"你总共尝试了 {counter} 次,成功输入正确名称!")
写法二:初始化变量后用条件循环
counter = 0 target_user = "Joe" # 先初始化name变量,避免第一次判断报错 name = "" while name != target_user: name = input("请输入名称:") counter += 1 print(f"尝试次数:{counter}")
代码说明
- 两种写法都能实现需求:只有输入「Joe」时结束循环,同时统计所有尝试次数(包括最后一次正确输入的那次)
- 第一种用
while True构建无限循环,通过break主动退出,逻辑更清晰,适合需要在循环中间判断退出条件的场景 - 第二种先初始化
name,再用name != target_user作为循环条件,写法更简洁
内容的提问来源于stack exchange,提问作者Mohseen Ramjan
相关产品推荐
相关产品推荐

