python 银行存款问题,请教为什么F5运行输入1就就弹出这样的结果,

dicta={"姓名":"张三","卡号":"1001","密码":"2001","余额":100}
dictb={"姓名":"李四","卡号":"1002","密码":"2002","余额":500}
dictc={"姓名":"王五","卡号":"1003","密码":"2003","余额":1000}
list=[dicta,dictb,dictc]
msg=0 #用来记录登录状态,0失败,1成功
i=0
num=input("请输入卡号:")
code=input("请输入密码:")
while 1==1:
for x in list:
if num==x["卡号"] and code==x["密码"]:
msg=1
print("验证通过,欢迎您,",x["姓名"])
if msg==0:
i=i+1
if i==3:
print("您已错误三次,再见!")
break
else:
print("验证错误,请重新输入!您还有",3-i,"次机会")
continue

img

img

你忘记把input放进while里面了

修改如下:

dicta={"姓名":"张三","卡号":"1001","密码":"2001","余额":100}
dictb={"姓名":"李四","卡号":"1002","密码":"2002","余额":500}
dictc={"姓名":"王五","卡号":"1003","密码":"2003","余额":1000}
list=[dicta,dictb,dictc]
msg=0 #用来记录登录状态,0失败,1成功
i=0
while i<3:
    num=input("请输入卡号:")
    code=input("请输入密码:")
    for x in list:
        if num==x["卡号"] and code==x["密码"]:
            msg=1
            print("验证通过,欢迎您,",x["姓名"])
            break
    if msg==0:
        i=i+1
        if i==3:
            print("您已错误三次,再见!")
            break
        else:
            print("验证错误,请重新输入!您还有",3-i,"次机会")
            continue