鱼C论坛

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

第二十六课动手练习求助

[复制链接]
发表于 2016-1-29 21:20:10 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 zyandyz003 于 2016-1-30 11:29 编辑

这是习题答案~

  1. user_data = {}

  2. def new_user():
  3.     prompt = '请输入用户名:'
  4.     while True:
  5.         name = input(prompt)
  6.         if name in user_data:
  7.             prompt = '此用户名已被使用,请重新输入:'
  8.             continue
  9.         else:
  10.             break

  11.     passwd = input('请输入密码:')
  12.     user_data[name] = passwd
  13.     print('注册成功,赶紧试试登陆把 ^_^ ')


  14. def old_user():
  15.     prompt = '请输入用户名:'
  16.     while True:
  17.         name = input(prompt)
  18.         if name not in user_data:
  19.             prompt = '您输入的用户名不存在,请重新输入:'
  20.             continue
  21.         else:
  22.             break

  23.     passwd = input('请输入密码:')
  24.     pwd = user_data.get(name)
  25.     if passwd == pwd:
  26.         print('欢迎进入XX系统,请点击右上角的X结束程序!')
  27.     else:
  28.         print('密码错误!')



  29. def showmenu():
  30.     prompt = '''
  31. |---新建用户:N/n---|
  32. |---登录账号:E/e---|
  33. |---退出程序:Q/q---|
  34. '''




  35.     while True:
  36.         chosen = False
  37.         while not chosen:
  38.             choice = input(prompt)
  39.             if choice not in 'NnEeQq':
  40.                 print('您输入的指令代码错误,请重新输入:')
  41.             else:
  42.                 chosen = True


  43.         if choice == 'q' or choice == 'Q':
  44.             break
  45.         if choice == 'n' or choice == 'N':
  46.             new_user()
  47.         if choice == 'e' or choice == 'E':
  48.             old_user()


  49. showmenu()[code]


  50. {:10_243:} 以上是习题的答案





  51.         下面是我自己做的,一直运行不了,后来看了答案后,又改来改去,最后依然没能运行,头好晕,心好方。故求助~











  52.                         [code]con = {}

  53. def new():
  54.     while 1:
  55.         name = input('请输入用户名:')
  56.         
  57.         if name in con:
  58.             name = input('此用户名已被使用,请重新输入:')
  59.         else:
  60.             con[name] = input('请输入密码:')
  61.             print('注册成功,快试试登陆吧!')
  62.         

  63. def login():
  64.     while 1:
  65.     name = input('请输入用户名:')
  66.     if name not in con:
  67.         name = input('您输入的用户名不存在,请重新输入:')
  68.     else:
  69.         if con[name] == input('请输入密码:'):
  70.             print('尊敬的'+name+'欢迎回来!')
  71.             
  72.         
  73.         
  74.    

  75.    

  76. def mainmenu()


  77.     while 1:
  78.         print('''
  79.         |---新建账户:N/n---|
  80.         |---登陆账号:E/e---|
  81.         |---退出程序:Q/q---|
  82.         ''')

  83.         con = dict()
  84.         instr = input('请输入指令代码:')

  85.         if instr == N or instr == n:
  86.             new()

  87.         if instr == E or instr == e:
  88.             login()

  89.         if instr == Q or instr == q:
  90.             break

  91. mainmenu()
复制代码




    #无法运行
啊啊啊啊啊。为何这个代码分不开。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-1-29 21:29:06 | 显示全部楼层
按你的程序我简单修改了,现在可以运行,你看看问题是出在了哪里?
另现在只是可以运行但逻辑上还是有错误,你试试自己完善。

  1. con = {}

  2. def new():
  3.     while 1:
  4.         name = input('请输入用户名:')
  5.         
  6.         if name in con:
  7.             name = input('此用户名已被使用,请重新输入:')
  8.         else:
  9.             con[name] = input('请输入密码:')
  10.             print('注册成功,快试试登陆吧!')
  11.             break
  12.         

  13. def login():
  14.     while 1:
  15.         name = input('请输入用户名:')
  16.         if name not in con:
  17.             name = input('您输入的用户名不存在,请重新输入:')
  18.         else:
  19.             if con[name] == input('请输入密码:'):
  20.                 print('尊敬的'+name+'欢迎回来!')
  21.                 break
  22.             
  23.         
  24.         
  25.    

  26.    

  27. def mainmenu():


  28.     while 1:
  29.         print('''
  30.         |---新建账户:N/n---|
  31.         |---登陆账号:E/e---|
  32.         |---退出程序:Q/q---|
  33.         ''')

  34.         con = dict()
  35.         instr = input('请输入指令代码:')

  36.         if instr == 'N 'or instr == 'n':
  37.             new()

  38.         if instr == 'E' or instr == 'e':
  39.             login()

  40.         if instr == 'Q' or instr == 'q':
  41.             break

  42. mainmenu()
复制代码

评分

参与人数 1荣誉 +2 鱼币 +2 贡献 +1 收起 理由
zyandyz003 + 2 + 2 + 1 感谢楼主无私奉献!

查看全部评分

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-19 12:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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