5、python第一天作业
作业一:编写登陆接口
1、输入用户名密码
2、认证成功后显示欢迎信息
3、输错三次后锁定
分析:
1、流程控制图
2、readme文件
需求:
1、用户登录
2、错误三次锁定
分析:
1、建立user_data.txt文件,含3个字段:name,password,lock(>3表示正常,3=<表示锁定)
2、用json模块把三个字段存成字典dict_data
3、代码
import json def login(user_data):
'''
:param user_data: 用户信息字典
:return: True 成功, False 不成功
'''
name = input("请输入用户名:")
if user_data.get(name): #用户名存在
num = user_data[name][1]
if num >= 3: #用户已被锁定
print("用户已被锁定!")
return False
else: #用户未被锁定
flag_pass = True
while flag:
password = input("请输入密码:")
if password == user_data[name][0]: #密码正确
flag_pass = False
return True
else: #密码错误
num += 1
if num >= 3: #密码错误3次
print("用户已被锁定!")
user_data[name][1] = num
with open("user_data.txt","w") as f:
json.dump(dict_data,f)
return False
else: #用户名不存在
print("用户名不存在,请重新输入!")
return False if __name__ == "__main__":
dict_data = {}
flag = True
with open("user_data.txt", "r") as f:
dict_data = json.load(f)
while flag:
if login(dict_data):
flag = False
print("welcome back!")
import os
import json if os.path.exists(r'C:\Users\huang\PycharmProjects\day1\sql.txt'):
# 存储账户密码文件存在
while True: # 用户输入名字和密码并去前后空格
user_name = input('input name:').strip()
user_pwd = input('input pwd:').strip() # 以读的方式打开文件并把读取到的数据转化为dict对象
with open('sql.txt', 'r') as f:
d = json.loads(f.read()) if d.get(user_name) and d[user_name][1] < 3:
# 用户名存在并错误次数小于3次(3次锁定)
if d[user_name][0] == user_pwd:
# 用户密码正确
print('welcome back!')
else:
# 用户密码不正确,错误次数+1并写入文件
print('user or pwd is worry!')
d[user_name][1] += 1
with open('sql.txt', 'w') as file:
df = json.dumps(d)
print(df)
file.write(df)
else:
# 用户名不存在或错误次数大等于3次(3次锁定)
if d.get(user_name):
# 用户名存在且错误次数大等于3次(3次锁定)
print('worry to many!')
else:
# 用户名不存在
print('user_name is not exists!')
else:
# 存储账户密码文件不存在
print('soft is error!')
5、python第一天作业的更多相关文章
- python第一天作业
作业需求 OK 开始动手了 作业要用到的知识点: python的文件操作 ####################################################3 开始了 1.先写一 ...
- 小甲鱼 python——第一课作业!
0: python是脚本语言把?虽然不是很清楚什么是脚本语言就是了.复制一下: 脚本语言(英语:Scripting language)是为了缩短传统的"编写.编译.链接.运行"( ...
- Python第一周作业
import turtle turtle.color('black','red') turtle.pensize(10) turtle.begin_fill() for i in range(5): ...
- python课程第一天作业1-模拟登录
第一周作业: 作业1:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 流程图: 代码:后来修改过一次: #!/usr/bin/env python # -*-conding:ut ...
- python第一周总结
这一周将开启学习python第一周,开始之前学过python但是没有学精,到现在基本快忘记了,只能记住大概什么样子了emmm 作业计算bmi 这周作业为计算bmi,小明身高1.75,体重80.5.请根 ...
- python基础 实战作业 ---Excel基本读写与数据处理
代码地址如下:http://www.demodashi.com/demo/11650.html 看完本篇需要: 10min 作业练习需要: 0.5h~3h(依练习者对python熟悉程度而定) 看完本 ...
- 【作业1.0】OO第一单元作业总结
OO第一单元作业已全部完成,为了使这一单元的作业能够收获更多一点,我回忆起我曾经在计算机组成课设中,经常我们会写一些实验报告,经常以此对实验内容反思总结.在我们开始下一单元的作业之前,我在此对OO第一 ...
- OO第一单元作业总结——表达式求导
OO第一单元作业总结 第一次作业 基于度量分析代码结构 基本算法 第一次作业是简单多项式导函数求解,不需要对输入数据的合法性进行判定, 基本思想是用 (coeff, expo)表示二元组 coeff* ...
- python第一站
python 第一站,豆瓣-美国末日评论小爬虫 最近学习python,但是光是看书看视频学习,总是觉得掌握的不够扎实.所以就决定自己去写写爬虫,当带着目的性去学,也许更容易发现自己需要什么.这是酝酿多 ...
随机推荐
- MySQL 启动原理剖析
200 ? "200px" : this.width)!important;} --> 介绍 本篇文章主要从查看MySQL的启动命令的代码来详细了解MySQL的启动过程,内容 ...
- JavaScript状态机程序逻辑编辑器
制作背景 之前做Win8 Metro动态加载内容框架的时候,由于采用了XAML+JavaScript的方法,程序复杂的执行逻辑是由JavaScript控制的,而页面一多,流程一复杂,制作起来就非常麻烦 ...
- 深入挖掘.NET序列化机制——实现更易用的序列化方案
.NET框架为程序员提供了“序列化和反序列化”这一有力的工具,使用它,我们能很容易的将内存中的对象图转化为字节流,并在需要的时候再将其恢复.这一技术的典型应用场景包括[1] : 应用程序运行状态的持久 ...
- Angular 2 最终版正式发布
9月15日,Angular 2 的最终版正式发布了. 作为 Angular 1 的全平台继任者 -- Angular 2 的最终版,意味着什么? 意味着稳定性已经得到了大范围用例的验证: 意味着已经针 ...
- [公告]Senparc.Weixin v4.7.0 升级说明(2016-08-08)
本次升级包含了除QY以外所有的类库,升级内容包括: 1.重构Conatainer结构,删除 ItemCollection 属性,直接使用ContainerBag加入到缓存: 2.重构IContaine ...
- Everything search syntax
Operators: space AND | OR ! NOT < > Grouping " " Search for an exact phrase. Wildcar ...
- Android开发学习之路-Android Studio开发小技巧
上一次发过了一个介绍Studio的,这里再发一个补充下. 我们都知道,Android Studio的功能是非常强大的,也是很智能的.如果有人告诉你学Android开发要用命令行,你可以告诉他Andro ...
- iOS-数据加密-MD5加密
数据加密 iOS开发中关于数据加密算法使用最多的就是MD5和Base64,但是开发者中最喜欢的也就是MD5,所以今天就简单介绍一下MD5在吗去使用, 当然关于数据加密还是看公司使用什么,公司使用什么我 ...
- WCF学习之旅—WCF概述(四)
一.WCF概述 1) 什么是WCF? Windows Communication Foundation (WCF) 是用于构建面向服务的应用程序的框架.借助 WCF,可以将数据作为异步消息从一个服务终 ...
- 每天多一点(2016.12.04)》Javascript隐式转换
乱想 javascript为什么需要隐式转换?如果没有会出现什么情况? 找了一圈没有看到关于这个的讨论,只好自己研究了,可能不一定正确,自行辨知. 郁闷就是郁闷在好好的,为什么要搞个隐式转换,一般来讲 ...