1017013615 发表于 2018-10-14 11:21:18

零基础入门python:第26讲课后习题动动手0

题目链接:https://fishc.com.cn/thread-45159-1-1.html

下面是我看完答案后写的程序:
请问如何修改才能做到登陆一个已有账户后程序自动结束!

loglist = {}
def login():
    print('''|---新建用户:N/n---|
|---登陆账号:E/e---|
|---退出程序:Q/q---|''')
    while 1:
      order = input('|---请输入指令代码:')
      
      if order in ('E','e','Q','q','N','n'):
            if order == 'q' or order == 'Q':
                break
            if order == 'n' or order == 'N':
                new_user()
            if order == 'e' or order == 'E':
                old_user()
               
      else:
            print('输入有误,请重新输入')
            continue

def new_user():
    str1 = '请输入用户名:'
    while 1:
      name = input(str1)
      if name not in loglist:
            break
      else:
            print('用户名已存在')
    password = input('请输入密码:')
    loglist = password
    print('添加完成\n')

def old_user():
    str1 = '请输入用户名:'
    while 1:
      name = input(str1)
      if name in loglist:
            break
      else:
            print('用户名不存在')
    password = input('请输入密码:')
    if password == loglist:
      print('欢迎')
      end()
    else:
      print('密码错误')


login()

shuofxz 发表于 2018-10-15 15:02:15

while 1:
      order = input('|---请输入指令代码:')
      
      if order in ('E','e','Q','q','N','n'):
            if order == 'q' or order == 'Q':
                break
            if order == 'n' or order == 'N':
                new_user()
            if order == 'e' or order == 'E':
                old_user()
                break   # 加上这行语句



在登录函数结束后直接break

1017013615 发表于 2018-10-17 12:54:10

shuofxz 发表于 2018-10-15 15:02
在登录函数结束后直接break

正解,谢谢
页: [1]
查看完整版本: 零基础入门python:第26讲课后习题动动手0