找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1439|回复: 4

[求助] python 小白求助

2

主题

2

帖子

2

积分

贫民

积分
2
米斯特而.D 发表于 2021-11-10 20:47:53 | 显示全部楼层 |阅读模式
dict1={}
l=True
while l:
    print('|---新建用户:N/n---|')
    print('|---登陆账号:E/e---|')
    print('|---退出程序:Q/q---|')
    dima=input('|---请输入指定代码:')
    if dima== 'n' or 'N':
        name=input('请输入用户名:')
        if name in dict1:
            name=input('该用户已被使用,请重新输入:')
            mima=input('请输入密码:')
            dict1[name]=mima
            print('注册成功,赶紧试试登陆吧^_^')
        else:
            mima=input('请输入密码:')
            dict1[name]=mima
            print('注册成功,赶紧试试登陆吧^_^')
    elif dima== 'e' or 'E':
        name=input('请输入用户名:')
        if name in dict1:
            mima=input('请输入密码:')
            if mima==dict1[name]:
                print('欢迎进入XXOO系统,请点击右上角X结束程序!')
            else:
                print('您输入的密码错误!')
        else:
            name=input('您输入的用户不存在,请重新输入:')
            mima=input('请输入密码:')
            if mima==dict1[name]:
                print('欢迎进入XXOO系统,请点击右上角X结束程序!')
            else:
                print('您输入的密码错误!')
    elif dima== 'q' or 'Q':
        l=False
print('您已退出XXOO程序!')

#为什么无论输入什么都循环执行新建用户程序

回复

使用道具 举报

0

主题

3

帖子

3

积分

贫民

积分
3
小胖子 发表于 2021-11-18 16:12:41 | 显示全部楼层
#为什么无论输入什么都循环执行新建用户程序
出现这个问题的原因在于,你的or用法错了。if dima== 'n' or 'N' 等价于 if dima == 'n' , if 'N'  两个表达式,因为 if 'N' 总是 True,所以无论输入什么都会进第一个判断条件。正确的做法是将判断改成:if dima == ('n' or 'N') 或者 if dima =='n' or dima == 'N' 或者 if dima in 'nN' 等,这三种方式均可。
回复 支持 1 反对 0

使用道具 举报

0

主题

5

帖子

5

积分

贫民

积分
5
lyabc666 发表于 2021-11-18 09:27:11 | 显示全部楼层
本帖最后由 lyabc666 于 2021-11-18 09:40 编辑

print('|---新建用户:N\n---|')
print('|---登陆账号:E\e---|')
print('|---退出程序:Q\q---|')
dict1={}

while 1:
    dima=input('|---请输入指定代码:')
    if dima == "n" or dima=="N":
        name=input('请创建用户名:')
        if name not in dict1:
            mima=input('请创建密码:')
            dict1[name]=mima
            print('注册成功,赶紧试试登陆吧^_^')
            break
        else:
            print('该用户已被使用,请重新输入')
            continue
    elif dima == "e" or dima=="E":
        name=input('请输入用户名:')
        if name in dict1:
            mima=input('请输入密码:')
            if mima==dict1[name]:
                print('欢迎进入XXOO系统,请点击右上角X结束程序!')
                break
            else:
                print('您输入的密码错误!')
                continue
        else:         
            print('您输入的用户不存在')            
            continue      

    elif dima== 'q' or dima=="Q":
        print('您已退出XXOO程序!')
        break
    else:
        print("只能帮你到这里了,我也是小白")
        break
回复 支持 反对

使用道具 举报

0

主题

36

帖子

36

积分

贫民

积分
36
Annadie 发表于 2021-11-18 11:49:06 | 显示全部楼层
本帖最后由 Annadie 于 2021-11-18 11:54 编辑


dict1 = {}
l = True
while l:
    print('|---新建用户:N/n---|')
    print('|---登陆账号:E/e---|')
    print('|---退出程序:Q/q---|')
    dima = input('|---请输入指定代码:').upper()
    if dima == 'N':
        name = input('请输入new用户名:')
        if name in dict1:
            name = input('该用户已被使用,请重新输入:')
            mima = input('请输入密码:')
            dict1[name] = mima
            print('注册成功,赶紧试试登陆吧^_^')
        else:
            mima = input('请输入密码:')
            dict1[name] = mima
            print('注册成功,赶紧试试登陆吧^_^')
    elif dima == 'E':
        name = input('请输入用户名:')
        if name in dict1:
            mima = input('请输入密码:')
            if mima == dict1[name]:
                print('欢迎进入XXOO系统,请点击右上角X结束程序!')
            else:
                print('您输入的密码错误!')
        else:
            name = input('您输入的用户不存在,请重新输入:')
            mima = input('请输入密码:')
            if mima == dict1[name]:
                print('欢迎进入XXOO系统,请点击右上角X结束程序!')
            else:
                print('您输入的密码错误!')
    elif dima == 'Q':
        break    else:
        break
print('您已退出XXOO程序!')
回复 支持 反对

使用道具 举报

0

主题

2

帖子

2

积分

贫民

积分
2
huakingp 发表于 2021-11-19 14:55:38 | 显示全部楼层
小白,学习一下
回复 支持 反对

使用道具 举报

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

本版积分规则

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