帅气小哥 发表于 2021-4-18 13:52:32

循环出现错了

dict1 = {}
while 1:
    i= input("请输入指令代码")
    if i == "N" or i == "n":
      name1 = input("输入用户名")
      if name1 in dict1:
            name1 = input("名字被使用,请重新输入")
            continue
      else:
            mima = input("请输入密码")
            dict1 = mima
      print("注册成功")
    if i == "E" or i == "e":
      name2 = input("输入用户名")
      if name2 in dict1:
            mima = input("请输入密码")
            if mima == dict1:
                print("欢迎进入系统")
      else:
            print("无此账号")
    if i == "Q"or i == "q":
      print("推出程序")
      break



这里是运行过程
C:\Users\gj\AppData\Local\Microsoft\WindowsApps\python3.9.exe C:/Users/gj/Desktop/python/26.py
------新建用户N/n------
------登录账号E/e------
------退出程序Q/q------
请输入指令代码n
输入用户名gj
请输入密码123
注册成功
请输入指令代码n
输入用户名gj
名字被使用,请重新输入xdd#这里就是出现问题的地方我重新输入一个新建用户他为啥不出现让我输入密码呢?
请输入指令代码

xiaosi4081 发表于 2021-4-18 14:25:51

你那个continue会直接跳过else

dict1 = {}
while 1:
    i= input("请输入指令代码")
    if i == "N" or i == "n":
      name1 = input("输入用户名")
      while name1 in dict1:
            name1 = input("名字被使用,请重新输入")
          if name not in dict1:
                    break
      
      mima = input("请输入密码")
      dict1 = mima
      print("注册成功")
    if i == "E" or i == "e":
      name2 = input("输入用户名")
      if name2 in dict1:
            mima = input("请输入密码")
            if mima == dict1:
                print("欢迎进入系统")
      else:
            print("无此账号")
    if i == "Q"or i == "q":
      print("推出程序")
      break

帅气小哥 发表于 2021-4-18 15:39:41

xiaosi4081 发表于 2021-4-18 14:25
你那个continue会直接跳过else

你好 我想问下 continue 是结束此循环继续往下运行 还是重新次循环 还是从更大一级的循环开始

xiaosi4081 发表于 2021-4-21 21:02:41

帅气小哥 发表于 2021-4-18 15:39
你好 我想问下 continue 是结束此循环继续往下运行 还是重新次循环 还是从更大一级的循环开始

是if的话,那就是会跳过
但如果是循环的话,就是跳过这一次循环,再执行循环动作
页: [1]
查看完整版本: 循环出现错了