用户账号系统(python)

user_list=[]#所有学生账号储存在该列表中
for i in range(1,201):temp={'name':'stu'+str(i),'password':'ppsuc'+str(i),'email':'stu'+str(i)+'@gd.com'}user_list.append(temp)                           #通过for循环创建200个现有学生账号
print("欢迎使用公大教务系统!")while True:j=input("请选择您的登陆方式:1.学生 2.管理员")if j == '1' :while True:l=input("请选择要执行的操作:1.账号密码登录 2.账号注册 3.密码修改 4.退出系统")if l == '1' :m=input("请输入用户名:")n=input("请输入密码:")for a in range(0,len(user_list)):       #for……else语句中,若for循环正常执行且循环完毕,则会继续执行else中的语句。如果遇到break,则不执行else中的语句if m == user_list[a]['name']:if n== user_list[a]['password']:print("登陆成功,"+str(user_list[a]['name'])+"欢迎使用公大教务系统!")exit(0)else:print("用户名或密码输入错误!请重新输入")breakelse:print("输入的用户名不存在!请重新输入")elif l == '2':while True:newname=input("请输入一个用户名:")for b in range(0, len(user_list)):if newname == user_list[b]['name']:print("该用户名已被占用!请重新输入")breakelse:newpassword=input("请输入您的密码:")test=input("请再次输入密码:")if newpassword != test:print("两次输入的密码不一致!")breakelse:newmail=input("请输入您的邮箱,用于找回密码:")newtemp={'name':newname,'password':newpassword,'email':newmail}user_list.append(newtemp)print("注册成功!请牢记您的用户名、密码及邮箱")print("用户名:"+newname+" 密码:"+newpassword+" 邮箱:"+newmail)breakelif l == '3':while True:exname=input("请输入您要修改密码的账号(若输入空账号则返回上级):")if exname == "":breakfor c in range(0, len(user_list)):if exname == user_list[c]['name']:exmail=input("请输入注册账号时绑定的邮箱:")if exmail == user_list[c]['email']:expassword=input("请输入新的密码:")testexpassword=input("请再次输入密码:")if expassword == testexpassword:user_list[c].update({'password':expassword})print("密码修改成功!请重新登录。")breakelse:print("两次输入的密码不一致!")breakelse:print("邮箱错误!拒绝修改密码。")else:print("您输入的账号不存在,请重新输入")elif l == '4':exit(1)else:print("输入的数据有误!请重新输入。")elif j == '2':k=input("请输入管理员密码:")if k=="AABBCCDDEEFF":print("登陆成功")while True:f = input("请选择要执行的操作:1.输出所有账号信息 2.输出单个账号信息 3.修改账号信息 4.退出系统")if f == '1':for e in range(0, len(user_list)):print("账号:"+str(user_list[e]['name'])+" 密码:"+str(user_list[e]['password'])+" 邮箱:"+str(user_list[e]['email']))elif f == '2':r=input("请输入您想查看的账号:")for a in range(0, len(user_list)):if r == user_list[a]['name']:print("账号:"+str(user_list[a]['name'])+" 密码:"+str(user_list[a]['password'])+" 邮箱:"+str(user_list[a]['email']))breakelse:print("您输入的账号不存在!")elif f == '3':r = input("请输入您想修改的账号:")for a in range(0, len(user_list)):if r == user_list[a]['name']:print("账号:" + str(user_list[a]['name']) + " 密码:" + str(user_list[a]['password']) + " 邮箱:" + str(user_list[a]['email']))s=input("请输入要执行的操作:1.修改账号密码 2.修改账号邮箱 3.删除账号 4.返回上一级")if s == '1':npassword=input("请输入新的账号密码:")user_list[a].update({'password': npassword})print("修改密码成功!")print("账号:" + str(user_list[a]['name']) + " 密码:" + str(user_list[a]['password']) + " 邮箱:" + str(user_list[a]['email']))breakelif s == '2':nmail = input("请输入新的账号邮箱:")user_list[a].update({'email': nmail})print("修改邮箱成功!")print("账号:" + str(user_list[a]['name']) + " 密码:" + str(user_list[a]['password']) + " 邮箱:" + str(user_list[a]['email']))breakelif s == '3':t=input("您确定要删除该账号吗?删除之后不可恢复。若确定删除,请输入管理员密码:")if t == "AABBCCDDEEFF":user_list.pop(a)print("账号删除成功")breakelse:print("密码输入错误!拒绝删除该账号")breakelif s == '4':breakelse:print("输入的值有误!")breakelse:print("您输入的账号不存在!")elif f == '4':exit()else:print("输入的数据有误!请重新输入。")else :print("管理员密码输入错误,拒绝访问!")else :print("输入的值有误!请重新输入。")

 

转载于:https://www.cnblogs.com/P201821440033/p/11101627.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411005.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

查询优化(1)

--最近在看Inside Microsoft SQL Server 2005:Query Tuning and Optimization一书。其中有一段内容感觉归纳得不错,纠正了我以前的一些错误概念。 对查询我们可以从以下几个方面来考虑进行优化。 重写查询语句 除了尽量避免太复杂的谓词判断,我们还需要尽…

java二分法查找法算法_算法二:二分法查找(java语言)

说明:二分法查找* 解析:* 一维数组,二分法查找:假如有一组数为1,2,3,4,5,6,7,8,9,10要查给定的值7.* 可设三个变量low,mid,high分别指向数据的前,中间和后,mid(lowhigh)/2.* 注意&am…

四十大经(八正道)

中部117、四十大经 我听到这样: 有一次,世尊住在舍卫城祇树给孤独园。 在那里,世尊召唤比丘们:“比丘们!” “尊师!”那些比丘回答世尊。 世尊这么说: “我将教导你们圣正定的助伴、资粮&…

[原创]在windows下搭建基于apache的SVN环境

[原创]在windows下搭建基于apache的SVN环境 1 软件下载: 在http://httpd.apache.org/download.cgi,下载: apache_2.2.14-win32-x86-openssl-0.9.8k.msi 在 http://subversion.tigris.org/,下载: Setup-Subversion-1.6.…

java 线程不足_Java 线程基础知识

wait() 和notify()、notifyAll()这三个方法用于协调多个线程对共享数据的存取,所以必须在 Synchronized 语句块内使用这三个方法,否则会抛出错 IllegalMonitorStateException。前面说过 Synchronized 这个关键字用于保护共享数据,阻止其他线程…

16.Python略有小成(内置模块Ⅱ)

Python(内置模块Ⅱ) 一、规范化开发 一个py文件中 文件加载问题代码可读性,查询差要将一个py文件分开,合理的分成多个py文件 配置文件放在一起 : 一些轻易不改变的变量,一般命名 settings.py主逻辑函数放在一起 : 一般命名 src.py辅助功能函数放在一起 : 公共组件部分,装饰器,l…

java8 入门脚本之家_Java 8中的Lambda表达式

我想使用lambda表达式而不是for循环生成数字列表.所以让我们想要生成一个100以下的所有三角形数字的列表.三角数字是以下公式的数字:(n * n n)/ 2这样做最好的方法是什么?目前我有这个:Stream.iterate(1,n -> n 1).limit(100).map(n ->…

[原]nasm语法

工具:nasm 汇编gcc 编译cld 进行链接kscope 查看源代码make 工程管理khexedit 分析二进制文件一:nasm源文件布局:像其他汇编器一样, nasm源文件包含四个域的组合。(除了宏, 或者预编译器指示, 或者汇编…

matlab的算法java_matlab环境下的回归算法分析

嗨,我想对回归技术进行全面分析,因此将继续编辑这个问题 . 我正在尝试使用Matlab中提供的技术来解决回归问题 . 理想情况下,我想看看诸如此类的技巧线性回归Logistic回归贝叶斯回归支持向量回归回归的高斯过程问题陈述给定数据 X 和 Y &#…

C#仿QQ皮肤-常用用户控件EnterFrom1和窗体EntryForm的实现

导读部分 ------------------------------------------------------------------------------------------------------------- C#仿QQ皮肤-实现原理系列文章导航 最新版源码下载 http://www.cckan.net/thread-2-1-1.html 本次是我们窗体实现的最后一节&#xff0c…

idea中删除java类并提交_IDEA 删除java类的3种提示

1. 点击 delete 删除文件时,会弹出如下选项:Safe delete (with usage search)Search in comments and strings“Safe delete ( with usage search)”, 字面意思是使用搜索安全删除. 是否选中结果分别为:没有选中状态,直接删除.选中状态,删除前IDEA会搜寻…

S3C2440、S3C2450和S3C6410之间区别

S3C2440:  主频400MHz;  SDRam内存控制器;  支持Nor Flash和Nand Flash(SLC)  支持2种Flash启动;  内部LCD、I2C、Camera等控制器。 S3C2450:  主频533MHz;  双总线架…

mysql指定时间_MySQL查询指定时间的数据

MySQL查询指定时间的数据。亲测可用。

助教小结13

本周总结: 主要为完成团队任务五的批改 整体完成的还可以 第1组、第9组:未点击提交按钮总成绩打八折 优秀作业: 第5组:https://www.cnblogs.com/lishuya/p/11088462.html 千帆竟发图: 转载于:https://www.cnblogs.com/…