鱼C论坛

 找回密码
 立即注册
查看: 3888|回复: 3

求帮改代码

[复制链接]
发表于 2022-10-12 11:51:18 | 显示全部楼层 |阅读模式

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

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

x
import hashlib
def get_int():
    print("-------------------")
    print("1.注册")
    print("2.登录")
    print("3.退出")
    i=int(input("请输入指令:"))
    return i

def encrypt(x):
    bstr=bytes(x,"utf-8")
    x=hashlib.md5(bstr)
    return x
   
def register():
    print("-------------------")
    name=input("请输入用户名:")
    while name in d:
         print("该用户名已被注册")
         name=input("请输入用户名:")
    passwd=input("请输入密码:")
    d=dict.fromkeys(name,encrypt(passwd))
    print("恭喜,注册成功~")
   
def login():
    print("-------------------")
    name=input("请输入用户名:")
    while name not in d:
        print("该用户名不存在。")
        name=input("请重新输入用户名:")
    passwd=input("请输入密码:")
    while encrypt(passwd)!=d[name]:
        print("密码错误!")
        passwd=input("请重新输入密码:")
    print("恭喜,登录成功~")

print("欢迎来到鱼C论坛~")
d={}
i=get_int()
while i!=3:
    if i==1:
        register()   
    if i==2:
        login()      
    i= get_int()
报错
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-10-12 13:20:47 | 显示全部楼层
谢谢啦~我还想问一下,为什么小甲鱼给的代码没有用global不会报错。
  1. import hashlib

  2. # 功能:获取用户指令
  3. # 返回:字符串,用户指令(1/2/3)
  4. def get_ins():
  5.     print("=====================")
  6.     print("1. 注册")
  7.     print("2. 登录")
  8.     print("3. 退出")
  9.    
  10.     ins = input("请输入指令:")
  11.     while not(ins == '1' or ins == '2' or ins == '3'):
  12.         ins = input("错误!请输入正确的指令:")

  13.     print("=====================")

  14.     return ins


  15. # 功能:MD5加密
  16. # 参数:字符串类型,未加密的明文
  17. # 返回:字符串类型,加密后的密文
  18. def encrypt(plaintext):
  19.     bstr = bytes(plaintext, "utf-8")
  20.     ciphertext = hashlib.md5(bstr).hexdigest()
  21.     return ciphertext


  22. # 功能:模拟论坛注册
  23. def register():
  24.     name = input("请输入用户名:")
  25.     while fishc_db.get(name):
  26.         print("该用户名已存在。")
  27.         name = input("请重新输入用户名:")

  28.     passwd = input("请输入密码:")
  29.     passwd = encrypt(passwd)

  30.     fishc_db[name] = passwd
  31.     print("恭喜,注册成功~")


  32. # 功能:模拟论坛登录
  33. def login():
  34.     name = input("请输入用户名:")
  35.     while not(fishc_db.get(name)):
  36.         print("该用户名不存在。")
  37.         name = input("请重新输入用户名:")

  38.     passwd = input("请输入密码:")
  39.     while fishc_db.get(name) != encrypt(passwd):
  40.         print("密码错误!")
  41.         passwd = input("请重新输入密码:")

  42.     print("恭喜,登录成功~")


  43. # 论坛原始数据库
  44. fishc_db = {}

  45. print("欢迎来到鱼C论坛~")

  46. ins = get_ins()

  47. while ins != '3':
  48.     if ins == '1':
  49.         register()
  50.         
  51.     if ins == '2':
  52.         login()
  53.         
  54.     ins = get_ins()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-16 02:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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