ldk4188 发表于 2020-12-15 17:01:07

第26讲问题

launch = dict()
print('|--- 新建用户:N/n ---|')
print('|--- 登录账号:E/e ---|')
print('|--- 退出程序:Q/q ---|')
while 1:

    progamme = input('请输入指令代码: ')


    if progamme == 'N' or progamme == 'n':
      ID = input('请输入用户名: ')
      if ID in launch:
            print('此用户名已经被使用,请重新输入')
      else:
            progamme = input('请输入密码: ')
            print('注册成功,赶紧试试登录吧')
                  
    if progamme == 'E' or progamme == 'e':
      ID = input('请输入用户名: ')
      if ID in launch:
            progamme = input('请输入密码: ')
            print('欢迎使用,点击屏幕右上角关闭')
      else:
            ID = input('您输入的用户名不存在,请重新输入: ')

    if progamme == 'Q' or progamme == 'q':
      break
   
print('谢谢使用')

这是我第26讲的动动手的答案,为什么会出现'str' object does not support item assignment错误??

而且我有一个问题就是是通过哪步来知道用户填写的密码和用户名写入了?谢谢各位大佬   

逃兵 发表于 2020-12-15 17:25:47

变量命名不规范,改一下 progamme

launch = dict()
print('|--- 新建用户:N/n ---|')
print('|--- 登录账号:E/e ---|')
print('|--- 退出程序:Q/q ---|')
while 1:

    progamme = input('请输入指令代码: ')


    if progamme == 'N' or progamme == 'n':
      ID = input('请输入用户名: ')
      if ID in launch:
            print('此用户名已经被使用,请重新输入')
      else:
            progamme_ID = input('请输入密码: ')
            print('注册成功,赶紧试试登录吧')
                  
    if progamme == 'E' or progamme == 'e':
      ID = input('请输入用户名: ')
      if ID in launch:
            progamme_ID = input('请输入密码: ')
            print('欢迎使用,点击屏幕右上角关闭')
      else:
            ID = input('您输入的用户名不存在,请重新输入: ')

    if progamme == 'Q' or progamme == 'q':
      break
   
print('谢谢使用')

昨非 发表于 2020-12-15 17:28:08

本帖最后由 昨非 于 2020-12-15 17:41 编辑

launch = dict()
print('|--- 新建用户:N/n ---|')
print('|--- 登录账号:E/e ---|')
print('|--- 退出程序:Q/q ---|')
while 1:

    progamme = input('请输入指令代码: ')

    if progamme == 'N' or progamme == 'n':
      ID = input('请输入用户名: ')
      if ID in launch:
            print('此用户名已经被使用,请重新输入')
      else:
            launch = input('请输入密码: ')   #这里progamme改为launch
            print('注册成功,赶紧试试登录吧')
                  
    if progamme == 'E' or progamme == 'e':   #这里添加了个密码判断功能,不然你的程序没有意义
      ID = input('请输入用户名: ')
      if ID in launch:
            password = input('请输入密码: ')
            if password==launch:
                print('密码正确')
                print('欢迎使用,点击屏幕右上角关闭')
            else:
                print("密码错误")

      else:
            ID = input('您输入的用户名不存在,请重新输入: ')

    if progamme == 'Q' or progamme == 'q':
      break
   
print('谢谢使用')

昨非 发表于 2020-12-15 17:28:45

本帖最后由 昨非 于 2020-12-15 17:40 编辑

第14行和17到25行两处修改
添加了密码判断功能

满意的话记得设为最佳答案

ldk4188 发表于 2020-12-17 10:52:12

逃兵 发表于 2020-12-15 17:25
变量命名不规范,改一下 progamme

我有两个问题想问一下,一是为什么改成_ID就可以了呢?二是为什么改进以后创建完账号再登录会显示用户名不存在,谢谢解答!

ldk4188 发表于 2020-12-17 10:55:43

昨非 发表于 2020-12-15 17:28
第14行和17到25行两处修改
添加了密码判断功能



你好,我想请问一下,是哪个语句具有密码判断功能?哪个语句是将输入的存储进去的?谢谢回答

昨非 发表于 2020-12-17 11:02:00

ldk4188 发表于 2020-12-17 10:55
你好,我想请问一下,是哪个语句具有密码判断功能?哪个语句是将输入的存储进去的?谢谢回答

14行存储
21行判断

如果看不懂的话
建议去补一下基础语法

满意的话记得设置最佳答案
有问题欢迎继续发帖提问

昨非 发表于 2020-12-17 17:02:14

ldk4188 发表于 2020-12-17 10:52
我有两个问题想问一下,一是为什么改成_ID就可以了呢?二是为什么改进以后创建完账号再登录会显示用户名 ...

因为代码有问题
页: [1]
查看完整版本: 第26讲问题