鱼C论坛

 找回密码
 立即注册
查看: 1955|回复: 1

[已解决]26讲

[复制链接]
发表于 2021-2-22 21:08:06 | 显示全部楼层 |阅读模式
2鱼币
def showmenu():
    prompt = '''
|--- 新建用户:N/n ---|
|--- 登录账号:E/e ---|
|--- 推出程序:Q/q ---|
|--- 请输入指令代码:'''

    while True:
        chosen = False
        while not chosen:
            choice = input(prompt)
            if choice not in 'NnEeQq':
                print('您输入的指令代码错误,请重新输入:')
            else:
                chosen = True

        if choice == 'q' or choice == 'Q':
            break
        if choice == 'n' or choice == 'N':
            new_user()
        if choice == 'e' or choice == 'E':
            old_user()

showmenu()


为何需要变量chosen,为何chosen=False,为何要两层循环
最佳答案
2021-2-22 21:08:07
变量chosen用来进行校验, 可以看到, 只有输入正确的指令才能使chosen = True, 否则在 while not chosen: 处验证时会一直进入内层循环, 那么为了让内层循环能在第一次就进入, 手动设置chosen=False, 进入内层循环, 这里内层循环用来接收指令并判断指令是否为'NnEeQq'中的某个, 外层循环不断重复整个菜单, 以便用户在执行一个指令后, 还可以继续尝试其他指令.

最佳答案

查看完整内容

变量chosen用来进行校验, 可以看到, 只有输入正确的指令才能使chosen = True, 否则在 while not chosen: 处验证时会一直进入内层循环, 那么为了让内层循环能在第一次就进入, 手动设置chosen=False, 进入内层循环, 这里内层循环用来接收指令并判断指令是否为'NnEeQq'中的某个, 外层循环不断重复整个菜单, 以便用户在执行一个指令后, 还可以继续尝试其他指令.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-22 21:08:07 | 显示全部楼层    本楼为最佳答案   
变量chosen用来进行校验, 可以看到, 只有输入正确的指令才能使chosen = True, 否则在 while not chosen: 处验证时会一直进入内层循环, 那么为了让内层循环能在第一次就进入, 手动设置chosen=False, 进入内层循环, 这里内层循环用来接收指令并判断指令是否为'NnEeQq'中的某个, 外层循环不断重复整个菜单, 以便用户在执行一个指令后, 还可以继续尝试其他指令.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-2 03:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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