鱼C论坛

 找回密码
 立即注册
查看: 1031|回复: 5

[已解决]Python代码问题请教

[复制链接]
发表于 2019-9-20 12:59:04 | 显示全部楼层 |阅读模式

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

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

x
def User_Login():
    user_Information_dict=dict()
    while 1:
        print("|---新建用户:N/n---|\n|---登录账号:E/e---|\n|---退出程序:Q\q---|\n")
        Instructions=input("请输入指令代码:")
        if (Instructions=="N")|(Instructions=="n"):
            user_name=input("请输入用户名:")
            while user_name in user_Information_dict.keys():
                user_name=input("此用户名已经被使用,请重新输入:")
            pass_login_word=input("请输入密码:")
            user_Information_dict[user_name]=pass_login_word
            print("注册号成功,赶快试试登陆吧\n")
        elif (Instructions=="E")|(Instructions=="e"):
            user_name=input("请输入用户名:")
            while user_name not in user_Information_dict.keys():
                user_name=input("您输入的用户名不存在,请重新输入:")
            pass_login_word==input("请输入密码:")
            while ((pass_login_word)!=(user_Information_dict[user_name])):
                pass_login_word=input("对不起,您输入的密码有误,请重新输入:")
            print("欢迎进入该系统,请点击右上角退出程序^-^\n")
        elif (Instructions=="Q")|(Instructions=="q"):
            print("退出程序成功,祝您生活愉快\n")
            break

            
User_Login()   




问一下,大神,我这里的输入E\e指令后,输入 pass_login_word的值后,但 pass_login_word并不会改变,密码永远都是正确的,进入不到输入的密码有误里面,请问一下是哪里出了问题,我查看了半天,也没看出来?
最佳答案
2019-9-20 14:10:23
本帖最后由 yuweb 于 2019-9-20 14:13 编辑

pass_login_word = input("请输入密码:")
而不是
pass_login_word==input("请输入密码:")
多了一个等号

  1. def User_Login():
  2.     user_Information_dict=dict()
  3.     while 1:
  4.         print("|---新建用户:N/n---|\n|---登录账号:E/e---|\n|---退出程序:Q\q---|\n")
  5.         Instructions=input("请输入指令代码:")
  6.         if (Instructions=="N")|(Instructions=="n"):
  7.             user_name=input("请输入用户名:")
  8.             while user_name in user_Information_dict.keys():
  9.                 user_name=input("此用户名已经被使用,请重新输入:")
  10.             pass_login_word=input("请输入密码:")
  11.             user_Information_dict[user_name]=pass_login_word
  12.             print("注册号成功,赶快试试登陆吧\n")
  13.         elif (Instructions=="E")|(Instructions=="e"):
  14.             user_name=input("请输入用户名:")
  15.             while user_name not in user_Information_dict.keys():
  16.                 user_name=input("您输入的用户名不存在,请重新输入:")
  17.             pass_login_word = input("请输入密码:")
  18.             while pass_login_word != user_Information_dict[user_name]:
  19.                 pass_login_word=input("对不起,您输入的密码有误,请重新输入:")
  20.             print("欢迎进入该系统,请点击右上角退出程序^-^\n")
  21.         elif (Instructions=="Q")|(Instructions=="q"):
  22.             print("退出程序成功,祝您生活愉快\n")
  23.             break

  24.             
  25. User_Login()   
复制代码


嗯,而且楼主没有判断输入为空的情况哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-20 14:10:23 | 显示全部楼层    本楼为最佳答案   
本帖最后由 yuweb 于 2019-9-20 14:13 编辑

pass_login_word = input("请输入密码:")
而不是
pass_login_word==input("请输入密码:")
多了一个等号

  1. def User_Login():
  2.     user_Information_dict=dict()
  3.     while 1:
  4.         print("|---新建用户:N/n---|\n|---登录账号:E/e---|\n|---退出程序:Q\q---|\n")
  5.         Instructions=input("请输入指令代码:")
  6.         if (Instructions=="N")|(Instructions=="n"):
  7.             user_name=input("请输入用户名:")
  8.             while user_name in user_Information_dict.keys():
  9.                 user_name=input("此用户名已经被使用,请重新输入:")
  10.             pass_login_word=input("请输入密码:")
  11.             user_Information_dict[user_name]=pass_login_word
  12.             print("注册号成功,赶快试试登陆吧\n")
  13.         elif (Instructions=="E")|(Instructions=="e"):
  14.             user_name=input("请输入用户名:")
  15.             while user_name not in user_Information_dict.keys():
  16.                 user_name=input("您输入的用户名不存在,请重新输入:")
  17.             pass_login_word = input("请输入密码:")
  18.             while pass_login_word != user_Information_dict[user_name]:
  19.                 pass_login_word=input("对不起,您输入的密码有误,请重新输入:")
  20.             print("欢迎进入该系统,请点击右上角退出程序^-^\n")
  21.         elif (Instructions=="Q")|(Instructions=="q"):
  22.             print("退出程序成功,祝您生活愉快\n")
  23.             break

  24.             
  25. User_Login()   
复制代码


嗯,而且楼主没有判断输入为空的情况哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-20 14:11:14 | 显示全部楼层
        楼主的代码逻辑非常不错,先赞一个,不过,逻辑表达式存在问题,逻辑或应该用 'or' 而不是 '|' 来表示,下面的代码我已经修正,楼主可以测试一下。

  1. def User_Login():
  2.     user_Information_dict = dict()
  3.     while True:
  4.         print("|---新建用户:N/n---|\n|---登录账号:E/e---|\n|---退出程序:Q\q---|\n")
  5.         Instructions = input("请输入指令代码:")
  6.         if Instructions == "N" or Instructions == "n":                                  # 此句有修改
  7.             user_name = input("请输入用户名:")
  8.             while user_name in user_Information_dict . keys():
  9.                 user_name = input("此用户名已经被使用,请重新输入:")
  10.             pass_login_word = input("请输入密码:")
  11.             user_Information_dict[user_name] = pass_login_word
  12.             print("注册号成功,赶快试试登陆吧\n")
  13.         elif Instructions == "E" or Instructions == "e":                                # 此句有修改
  14.             user_name = input("请输入用户名:")
  15.             while user_name not in user_Information_dict . keys():
  16.                 user_name = input("您输入的用户名不存在,请重新输入:")
  17.             pass_login_word = input("请输入密码:")                                      # 此句有修改
  18.             while pass_login_word != user_Information_dict[user_name]:
  19.                 pass_login_word = input("对不起,您输入的密码有误,请重新输入:")
  20.             print("欢迎进入该系统,请点击右上角退出程序^-^\n")
  21.         elif Instructions == "Q" or Instructions == "q":                                # 此句有修改
  22.             print("退出程序成功,祝您生活愉快\n")
  23.             break

  24. User_Login()   
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-20 15:12:28 | 显示全部楼层
jackz007 发表于 2019-9-20 14:11
楼主的代码逻辑非常不错,先赞一个,不过,逻辑表达式存在问题,逻辑或应该用 'or' 而不是 '|' 来 ...

谢谢,因为C语言使用过多,谢谢你的解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-20 15:13:53 | 显示全部楼层
yuweb 发表于 2019-9-20 14:10
pass_login_word = input("请输入密码:")
而不是
pass_login_word==input("请输入密码:")

太过粗心,谢谢啦,刚才想的头都大了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-20 17:45:01 | 显示全部楼层
努力努力去努力 发表于 2019-9-20 15:13
太过粗心,谢谢啦,刚才想的头都大了

不客气,大家一起学习一起进步
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 18:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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