鱼C论坛

 找回密码
 立即注册
查看: 3051|回复: 2

[已解决]零基础入门python:第26讲课后习题动动手0

[复制链接]
发表于 2018-10-14 11:21:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目链接: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[name] = password
        print('添加完成\n')

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


    login()

最佳答案
2018-10-15 15:02:15
  1. while 1:
  2.         order = input('|---请输入指令代码:')
  3.         
  4.         if order in ('E','e','Q','q','N','n'):
  5.             if order == 'q' or order == 'Q':
  6.                 break
  7.             if order == 'n' or order == 'N':
  8.                 new_user()
  9.             if order == 'e' or order == 'E':
  10.                 old_user()
  11.                 break     # 加上这行语句

复制代码


在登录函数结束后直接break
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-10-15 15:02:15 | 显示全部楼层    本楼为最佳答案   
  1. while 1:
  2.         order = input('|---请输入指令代码:')
  3.         
  4.         if order in ('E','e','Q','q','N','n'):
  5.             if order == 'q' or order == 'Q':
  6.                 break
  7.             if order == 'n' or order == 'N':
  8.                 new_user()
  9.             if order == 'e' or order == 'E':
  10.                 old_user()
  11.                 break     # 加上这行语句

复制代码


在登录函数结束后直接break
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-17 12:54:10 | 显示全部楼层
shuofxz 发表于 2018-10-15 15:02
在登录函数结束后直接break

正解,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-23 02:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表