一、今日作业

1、编写文件copy工具

with open("a.txt",mode="r",encoding="utf-8") as f1 ,open("b.txt",mode="w",encoding="utf-8") as f2:
f2.write(f1.read())

2、编写登录程序,账号密码来自于文件

user_inp = input("请输入用户名:")
pwd_inp = input("请输入密码:")
with open("a.txt",mode="r",encoding="utf-8") as f :
for line in f:
username,password = line.strip().split(":")
if username == user_inp and password == pwd_inp:
print("登录成功")
break
else:
print("账号或秘密错误")

3、编写注册程序,账号密码来存入文件

username = input("请输入账号:").strip()
password = input("请输入密码:")
with open("b.txt","a",encoding="utf-8") as f :
f.write("\n{}:{}".format(username,password))

二、周末综合作业:

1、编写用户登录接口

1、输入账号密码完成验证,验证通过后输出"登录成功"

2、可以登录不同的用户

3、同一账号输错三次锁定,(提示:锁定的用户存入文件中,这样才能保证程序关闭后,该用户仍然被锁定)

import os
count = 0
tag = True
list1 = []
while tag:
username = input("请输入用户名:")
if os.path.exists("locked\{}".format(username)):
print("用户被锁定")
count=0
break
password = input("请输入密码:")
with open("a.txt",mode="r",encoding="utf-8") as f :
for line in f :
user,pwd = line.strip().split(":")
if username == user and password == pwd:
print("登录成功")
tag = False
break
else:
if list1.count(username) ==2:
with open("locked\{}".format(username),"w") as f :
print("错误3次该用户被锁定")
else:
list1.append(username)
print(list1.count(username))
print("登录失败")

2、编写程序实现用户注册后,可以登录

import os
list2=[]
list1=["1","2","3"]
while True:
print('''
1.注册
2.登录
3.退出
''')
cmd = input("cmd>")
tag=True
if cmd == list1[0]:
username = input("请输入你要注册的账号:")
password = input("请输入你要注册的密码:")
with open("a.txt","a",encoding="utf-8") as f :
f.write(f"{username}:{password}\n")
elif cmd == list1[1]:
while tag:
use_inp = input("请输入你的用户名:")
if os.path.exists(f"locked/{use_inp}"):
print("账号被锁定")
tag = False
break
else:
pwd_inp = input("请输入你的密码:")
with open("a.txt","r",encoding="utf-8") as f :
for line in f :
username,password=line.strip().split(":")
if use_inp==username and password==pwd_inp:
print("登录成功")
tag = False
break
else:
if list2.count(use_inp) == 2:
with open(f"locked/{use_inp}","w",encoding="utf-8") :
pass
print("账号被锁定")
break
else:
print("输入错误")
list2.append(use_inp)
print(list2.count(use_inp)) elif cmd == list1[2]:
break
else:
print("非法输入")

day11 本日作业+周末作业的更多相关文章

  1. day16 本日作业+周末作业

    目录 1.编写计数器功能,要求调用一次在原有的基础上加1 2.周末作业 1.编写计数器功能,要求调用一次在原有的基础上加1 def func(): x=0 def counter(): nonloca ...

  2. day03 作业 and 周末作业

    请输出 name 变量对应的值中 "e" 所在索引位置? # name = "leX leNb"# num = 0# while num < len(na ...

  3. [福大软工] Z班 团队作业——系统设计 作业成绩

    团队作业--系统设计 作业链接 http://www.cnblogs.com/easteast/p/7709763.html 作业情况 这次作业大家完成度都很高,大家的团队分工,任务布置都安排得很到位 ...

  4. 如何使用git 提交作业 收作业

    如何使用git 提交作业 收作业 方法论: 今天就来用一个通俗易懂的自然模型来解释Git的commit,pull和push.不过,我们首先要理解两个名词,remote,local. remote,翻译 ...

  5. day3(第一周)周末作业

    1.创建字符串变量的三种写法及其区别# 代码:单引号 ''# 双引号 ""# 多引号 ''' '''# 区别:单引号和双引号没有任何区别,一般用于单行字符:多行字符用多引号.## ...

  6. 10月20日MySQL数据库作业解析

    设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表 ...

  7. Linux 第30天: (08月5日) 练习和作业

    变量脚本 1.编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 server_ip=`if ...

  8. xv6的作业翻译——作业1 - shell和系统调用

    Xv6的lecture LEC 1 Operating systems   L1: O/S overview L1:O/S概述   * 6.828 goals 6.828的目标   Understan ...

  9. C语言第四次作业-嵌套作业

    一.PTA实验作业 题目1:7-4 换硬币 1. 本题PTA提交列表 2.设计思路 第一:定义三个整型变量f,t,o,分别代表五分,两分,一分的数量 第二:输入待换金额x 第三:令f=x/5;t=x/ ...

随机推荐

  1. 如何通过PR给视频添加字幕?

    第一步:将视频通过导出音频格式MP3 第二步:将音频MP3导入网易见外平台 第三步:在网易见外平台创建项目,进行语音转写如下所示: 第四步:将从网易见外平台到处的srt字母文件,打开后进行编码为utf ...

  2. Linux基础:pkill命令总结

    本文只总结一些常用的用法,更详细的说明见man pkill和pkill --help. pkill命令 pkill命令:通过进程名杀死进程. 语法格式 Usage: pkill [options] & ...

  3. iOS简历书写注意事项

    1.个人信息模块 1)简历标题 2)姓名 性别  年龄 电话  邮箱  常驻地 学历 英语能力 工作年限 籍贯 专业 (突出优势) 注意:不要从招聘网站导出简历网站 2.求职意向 1)职位 地点 薪资 ...

  4. RocketMQ系列(六)批量发送与过滤

    今天我们再来看看RocketMQ的另外两个小功能,消息的批量发送和过滤.这两个小功能提升了我们使用RocketMQ的效率. 批量发送 以前我们发送消息的时候,都是一个一个的发送,这样效率比较低下.能不 ...

  5. 01.DRF-Web应用模式

    Web应用模式 在开发Web应用中,有两种应用模式: 前后端不分离 前后端分离 1 前后端不分离 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控 ...

  6. arduino连接12864LCD方法

    arduino连接12864LCD方法,参考相关代码. https://blog.csdn.net/txwtech/article/details/95038386

  7. Mybatis框架-CRUD

    1  2  3  传统dao开发实现CRUD 3.1    传统dao开发实现crud 使用 Mybatis 开发 Dao,通常有两个方法,即原始 Dao开发方式和 Mapper 接口代理开发方式.而 ...

  8. c#,pagerank算法实现一

    PageRank让链接来"投票" 一个页面的“得票数”由所有链向它的页面的重要性来决定,到一个页面的超链接相当于对该页投一票.一个页面的PageRank是由所有链向它的页面(“链入 ...

  9. 微信小程序-页面跳转与参数传递

    QQ讨论群:785071190 微信小程序页面跳转方式有很多种,可以像HTML中a标签一样添加标签进行跳转,也可以通过js中方法进行跳转. navigator标签跳转 <view class=& ...

  10. 微信小程序for循环遍历

    wxml:           <block wx:for="{{data}}" wx:for-item="data">             & ...