注册 登录
编程论坛 Python论坛

求助个while语句小白问题

wangleiyifan 发布于 2018-06-03 18:00, 1520 次点击
想要实现登录失败3次后直接显示登录失败,但每次都多句请重试,请问是为什么?怎么解决?
程序代码:
n = 0
while n < 3:
    a = input("请输入用户名")
    b = input("请输入密码")

    if a == '1' and b == '2':
        print('登陆成功')
        break
    else:
        print('请重试')
    n = n + 1
    if n == 3:
        print('登录失败')
print('---end---')
2 回复
#2
hzr2018-06-05 09:06
if n == 3:
        print('登录失败')
后应该在加一个break;
#3
傻眼猫咪2021-08-03 16:53
程序代码:

# 樓主,建議旁加註解,以方便程序讀寫程序
#
你的問題可以分為3個階段:
#
階段一:次數小於3次,輸入用戶名和密碼成功
#
階段二:次數小於3次,用戶名或密碼有誤,再次輸入
#
階段三:次數用完
#
根據不同階段做出不同反應

count = 0
while True:
    a = input('請輸入用戶名:')
    b = input('請輸入密碼:')
    if a == '1' and b == '2': # 階段一:次數小於3次,輸入用戶名和密碼成功
        print('登入成功')
        break
    elif count < 3:
        print('請重試') # 階段二:次數小於3次,用戶名或密碼有誤,再次輸入
        count += 1
        continue

    # 只要不符合以上兩個階段條件,自動往下執行,退出
   
    print('登入失敗') # 階段三:次數用完
    break

print('程序結束')


[此贴子已经被作者于2021-8-3 16:54编辑过]

1