Pythonkir 发表于 2017-4-17 15:19:51

Python课后题26讲

这是我写的代码 把dict1放到while1里面,程序到第17行就不继续往下运行,一旦我把dict1放到while1外面就可以顺利运行,不知道其中的原因是什么,这中间我并没有跳出循环
while 1:
    dict1 = {}
    print("新建用户:N/n")
    print("登录账号:E/e")
    print("退出程序:Q/q")
    choice = input("请输入指令代码:")
    if choice == "n" or choice == "N":
      name = input("请输入用户名:")
      while 2:
            if name in dict1:
                name = input("此用户名已被使用,请重新输入:")
                continue
            else:
                code = input("请输入密码:")
                dict1.setdefault(name,code)
                print("注册成功,赶紧试试登录吧")
                dename =input("请输入用户名:")
                if dename in dict1:
                  tiaochu = input("请输入密码:")
                  if tiaochu == dict1:
                        print("欢迎进入xxoo系统")
                        break

    if choice == "e" or choice == "E":
      dename = input("请输入用户名:")
      if dename in dict1:
            tiaochu = ("请输入密码:")
            if tiaochu == dict1:
                print("欢迎进入xxoo系统")

    if choice == "Q" or choice == "q":
      break


dict1 = {}
while 1:
    print("新建用户:N/n")
    print("登录账号:E/e")
    print("退出程序:Q/q")
    choice = input("请输入指令代码:")
    if choice == "n" or choice == "N":
      name = input("请输入用户名:")
      while 2:
            if name in dict1:
                name = input("此用户名已被使用,请重新输入:")
                continue
            else:
                code = input("请输入密码:")
                dict1.setdefault(name,code)
                print("注册成功,赶紧试试登录吧")
                dename =input("请输入用户名:")
                if dename in dict1:
                  tiaochu = input("请输入密码:")
                  if tiaochu == dict1:
                        print("欢迎进入xxoo系统")
                        break

    if choice == "e" or choice == "E":
      dename = input("请输入用户名:")
      if dename in dict1:
            tiaochu = ("请输入密码:")
            if tiaochu == dict1:
                print("欢迎进入xxoo系统")

    if choice == "Q" or choice == "q":
      break

ButcherRabbit 发表于 2017-4-17 16:28:14

两个程序都缺少个break,
第一个程序:
在注册成功后,不要后续代码,直接break
第二个程序:
在你break 后面那一行,与while 2 : 并行的再来一个break退出while 1:的循环
页: [1]
查看完整版本: Python课后题26讲