ly1003 发表于 2022-5-22 10:26:18

课后作业26讲

user_data={}
def new_user():
    prompt='请输入用户名:'
    while True:
      name=input(prompt)
      if name in user_data:
            prompt='此用户名已被使用,请重新输入:'
            continue
      else:
            break
    passwd=input('请输入密码:')
    user_data=passwd
    print('注册成功,赶紧试试登陆吧^_^)
def old_user():
prompt='请输入用户名:'这里一直提示扫描字符串文字时下线,为什么呢
    while True:
      name=input(prompt)
      if name not in user_data:
            prompt='您输入的用户名不存在,请重新输入!'
            continue
      else:
            break
    passwd=input('请输入密码')
    pwd=user_data.get(name)
    if passwd==pwd:
      print('欢迎进入系统,请点右上角X结束程序!')
    else:
      print('密码错误')
def showmenu():
    prompt='''
|---新建用户:N/n---|
|---登录账号:E/e---|
|---退出程序:Q/q---|
|---请输入指令代码:'''
    while True:
      chose=False
      while not chose:
            choice=input(prompt)
            if choice not in 'EeNnQq':
                print("您输入的指令代码错误,请重新输入:")
            else:
                chose=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()

白two 发表于 2022-5-22 10:43:12

麻烦发一下报错信息

ly1003 发表于 2022-5-22 10:53:28

白two 发表于 2022-5-22 10:43
麻烦发一下报错信息

我点运行弹小窗显示EQL while scanning string literal

白two 发表于 2022-5-22 11:13:14

14行少了一个单引号

user_data={}
def new_user():
    prompt='请输入用户名:'
    while True:
      name=input(prompt)
      if name in user_data:
            prompt='此用户名已被使用,请重新输入:'
            continue
      else:
            break
    passwd=input('请输入密码:')
    user_data=passwd
    print('注册成功,赶紧试试登陆吧^_^')
def old_user():
    prompt='请输入用户名:'
    while True:
      name=input(prompt)
      if name not in user_data:
            prompt='您输入的用户名不存在,请重新输入!'
            continue
      else:
            break
    passwd=input('请输入密码')
    pwd=user_data.get(name)
    if passwd==pwd:
      print('欢迎进入系统,请点右上角X结束程序!')
    else:
      print('密码错误')
def showmenu():
    prompt='''
|---新建用户:N/n---|
|---登录账号:E/e---|
|---退出程序:Q/q---|
|---请输入指令代码:'''
    while True:
      chose=False
      while not chose:
            choice=input(prompt)
            if choice not in 'EeNnQq':
                print("您输入的指令代码错误,请重新输入:")
            else:
                chose=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()


页: [1]
查看完整版本: 课后作业26讲