当前位置: 首页 > news >正文

python作业五

题目:注册登录

制作一个注册登录模块

注册:将用户填入的账户和密码保存到一个文件(users.bin)

登陆:将用户填入账户密码和users.bin中保存的账户密码进行比对,如果账户和密码完全相同 那               么登录成功,否则登录失败

一、代码部分

import hashlib
import json
import os
import sysUI = """
用户登录系统
1.注册
2.登陆
0.退出
"""def load(path):return json.load(open(path, "rt"))def save(dic, path: str):json.dump(dic, open(path, "wt"))while True:print(UI)num = input("请输入你的选择:")if num == "1":# 从users.bin读取已有的账户数据,用户注册完以后,将新账户增添到已有数据中保存。if os.path.exists("users.bin"):dc = load("users.bin")else:dc = {}account = input("请输入账户:")passwd = input("请输入密码:")confirm = input("请确认密码")# 检查用户的账户是否已存在 如果存在 则提醒用户重新输入账户密码if dc.get(account):print("账户已存在请重新输入")# 前后两次密码 是否一致?如果一致直接保存用户的注册信息elif passwd == confirm:# 使用MD5将用户密码假面md5 = hashlib.md5(passwd.encode())encrypt = md5.hexdigest()dc[account] = encryptsave(dc, "users.bin")print("注册成功")elif num == "2":print("进入到登录环节")# 输入账户密码account = input("请输入账户:")pwd = input("请输入密码:")# 读取users.bin得到一个字典dc= load("users.bin")# dc.get判断用户的账户是否存在if dc.get(account):# dc[account] == 输入的密码#将用户输入密码进行加密md5 = hashlib.md5(pwd.encode())encrypt_pwd = md5.hexdigest()if dc[account] == encrypt_pwd:print("登录成功")else:print("登录失败")# 登录成功 否则登录时失败else:print("账户或者密码错误")else:sys.exit()
二、注册结果:

三、users.bin:

四、登录结果:

相关文章:

python作业五

题目:注册登录 制作一个注册登录模块 注册:将用户填入的账户和密码保存到一个文件(users.bin) 登陆:将用户填入账户密码和users.bin中保存的账户密码进行比对,如果账户和密码完全相同 那 么登录成功,否则登录失败…...

经典的设计模式和Python示例(一)

目录 一、工厂模式(Factory Pattern) 二、单例模式(Singleton Pattern) 三、观察者模式(Observer Pattern) 一、工厂模式(Factory Pattern) 工厂模式(Factory Pattern…...

Ubuntu服务器如何安装桌面

更新软件库 apt-get update 升级软件 apt-get upgrade 安装ubuntu桌面系统 apt-get install ubuntu-desktop 运行过程需要手动确认两次,选择 Y。 安装完成之后,终端输入 reboot,重启服务器。...

填报表如何实现电话号码的校验

单元格校验时,只能输入数字和特定字符(-),即实现固话和手机号码的校验,保证录入的规范,应如何实现? 解决方案:使用正则表达式实现校验效果,如下图所示: 校验…...

揭秘全网热门话题:抖音快速涨粉方法,巨量千川投流助你日增10000粉

在当今社交媒体的时代( 千川投流:hzzxar)抖音成为了年轻人分享自己才华和生活的平台。然而,要在抖音上快速获得关注和粉丝,却不是一件容易的事情。今天,我们将揭秘全网都在搜索的抖音快速涨1000粉的秘籍,带…...

电脑提示‘找不到msvcr110dll,无法继续执行代码’的解决方法,3分钟快速修复

不知道大家有没有遇到过这种情况,无端端电脑提示你找不到msvcr110dll,无法继续执行代码?当出现这个情况,证明你的某个程序就已经运行不了,你需要去修复这个错误,才能正常的运行程序,下面我们一起来详细的了…...

如何在Hostease的Linux虚拟主机上永久移除WordPress网站

最近有遇到客户咨询如何移除Linux虚拟主机上的WordPress网站的, 因为原先的站点长时间不更新,被恶意篡改,跳转到了一个博彩网站上,本身网站也比较旧了,客户也不准备修复,准备重新建站。但是又怕移除不干净&…...

【云原生】Docker 的网络通信

Docker 的网络通信 1.Docker 容器网络通信的基本原理1.1 查看 Docker 容器网络1.2 宿主机与 Docker 容器建立网络通信的过程 2.使用命令查看 Docker 的网络配置信息3.Docker 的 4 种网络通信模式3.1 bridge 模式3.2 host 模式3.3 container 模式3.4 none 模式 4.容器间的通信4.…...

如何优雅的实现浏览器多标签通讯

前言 开发过程中无法避免遇到需要进行多标签通讯的情况,例如: 管理员登陆后,其他打开标签的页面登陆状态要变更课堂页面只能打开一个,另一个则通知失效等等。。。场景 然而实现该功能,我们需要使用页面能共同持有的…...

刷题之不相同的字符串(卡码网模拟)

卡码网不同的字符串 #include<vector> #include<string> #include<iostream> using namespace std; int main() {int n0;cin>>n;for(int i0;i<n;i){string s;cin>>s;vector<int>hash(26,0);for(int j 0;j < s.size();j)hash[s[j…...

JS-导入导出

export和export default是ES6中导出模块中变量的语法 导入导出变量 //导出方法&#xff08;js文件中&#xff09; export const 变量名值//导入方法 对应导入的变量&#xff0c;一定要加花括号 import {变量名} from js文件路径 导入导出函数 //导出方法&#xff08;js文件中…...

【代码随想录——数组篇】

代码随想录——数组篇 2. 二分查找3. 移除元素4. 有序数组的平方5. 长度最小的子数组6. 螺旋矩阵II 2. 二分查找 力扣题目链接 前提&#xff1a; 有序数组数组中无重复元素 代码&#xff1a; &#xff08;版本一&#xff09;左闭右闭区间 class Solution {public int sea…...

使用 js 类封装项目中音频播放功能的工具方法utils

在前端开发中&#xff0c;音频播放功能是一个常见的需求&#xff0c;我们经常需要在项目中加入音频播放、音频提示等功能。为了提高开发效率和代码复用性&#xff0c;我们可以封装一个工具方法来管理音频播放功能。 在本文中&#xff0c;我将介绍如何封装项目中音频播放功能的…...

【超详细】R语言贝叶斯方法在生态环境领域中的高阶技术应用

查看原文>>>R语言贝叶斯方法在生态环境领域中的高阶技术应用 目录 专题一&#xff1a;前期资料 专题二&#xff1a;R和Rstudio入门和绘图&#xff08;含ggplot&#xff09; 专题三&#xff1a;R语言数据清洗-tidyverse包应用 专题四&#xff1a;贝叶斯回归模型-回…...

Python 正则表达式 re . 符号

Python 正则表达式 re . 符号 正文示例1示例2 正文 用法说明&#xff1a;(点号) 在默认模式下&#xff0c;匹配除换行符以外的任意字符。 如果指定了 flags 参数 DOTALL &#xff0c;它将匹配包括换行符在内的任意字符。 示例1 import restr1 abcde print(re.search(., str…...

智慧监控 高效运维

随着企业IT建设的不断深入和完善&#xff0c;IT管理的重要性逐渐被重视&#xff0c;打通数据割裂&#xff0c;使业务更加充分融合。亟需一套统一的平台来实现跨品牌跨设备类型的集中监控和管理。 LinkSLA带外监控平台&#xff0c;不仅适用于大规模或超大规模的运维场景&#x…...

JAVA每日面试题(一)

Java面试问题及答案 1. 解释Java中的垃圾回收机制和如何优化它 问题&#xff1a; 在Java中&#xff0c;垃圾回收&#xff08;Garbage Collection, GC&#xff09;是如何工作的&#xff1f;作为一名Java开发者&#xff0c;你如何优化垃圾回收以提高应用性能&#xff1f; 答案…...

Java数组创建与使用

一.创建和初始化 1.数组是怎么创建的&#xff1f; 直接举例子&#xff1a; int[] arr new int[10]; 这里只简单的举一个int开辟数组的例子。 可见java数组的创建于C语言是不同的。前面是一个int[ ]就是一个数组的数据类型&#xff0c;后面的arr是数组名&#xff0c;最后[…...

EMAP如何建数据源

新建数据源&#xff1a; EMAP底座的数据源&#xff0c;名称为“DB_EMAP_BIZ_BASE"&#xff0c;不可随意更改. 新建业务系统数据源&#xff0c;名称为”DB_STUDY_BIZ_BASE". 支持的数据库&#xff1a; 支持两种类型数据库&#xff1a;H2 和 oracle 新建H2数据源&am…...

在 Linux 中创建文件

目录 ⛳️推荐 前言 使用 touch 命令创建一个新的空文件 使用 echo 命令创建一个新文件 使用 cat 命令创建新文件 测试你的知识 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...

如何配置一个sql server使得其它用户可以通过excel odbc获取数据

要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据&#xff0c;你需要完成以下配置步骤&#xff1a; ✅ 一、在 SQL Server 端配置&#xff08;服务器设置&#xff09; 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到&#xff1a;SQL Server 网络配…...