python程序整理(2)
# 写一个函数完成三次登陆功能:
# 用户的用户名密码从一个文件register中取出。
# register文件包含多个用户名,密码,用户名密码通过|隔开,每个人的用户名密码占用文件中一行。
# 完成三次验证,三次验证不成功则登录失败,登录失败返回False。
# 登陆成功返回True。
# def login():
# count = 0
# while count < 3:
# usr = input('username : ')
# pwd = input('password : ')
# with open('register',encoding='utf-8') as f:#register存储用户信息
# for line in f:
# line = line.strip() # 'alex|sb'
# user,passwd = line.split('|') # ['alex','sb']
# if usr == user and pwd == passwd:
# return True # 登陆成功
# count += 1
# print('登陆失败,请重新登陆')
# return False # 登陆失败 # ret = login()
# if ret:
# print('登陆成功')
# else:
# print('三次登陆机会已用尽,登录失败')
# 写一个函数完成注册功能:
# (1)用户输入用户名密码注册。
# (2)注册时要验证(文件regsiter中)用户名是否存在,如果存在则让其重新输入用户名,如果不存在,则注册成功。
# (3)注册成功后,将注册成功的用户名,密码写入regsiter文件,并以 | 隔开。
# (4)注册成功后,返回True,否则返回False。
# def register():
# while True:
# username = input('请输入注册用户名("输入q退出") :').strip()
# if username.upper() == 'Q': return False
# with open('file/register',encoding='utf-8') as f:
# for line in f:
# user,_ = line.split('|') # 解包,不想要的变量就可以用_表示
# if username == user:
# print('用户名已存在,请重新输入用户名')
# break
# else:break
# pwd = input('请输入注册密 码 :')
# with open('file/register','a') as f:
# f.write('%s|%s\n'%(username,pwd))
# return True
#
# ret = register()
# if ret == True:
# print('注册成功')
# else:
# print('注册失败')
# 完成一个员工信息表的增删功能(升级题)。
# 文件存储格式如下:
# id,name,age,phone,job
# 1,Alex,22,13651054608,IT
# 2,太白,23,13304320533,Teacher
# 3,nezha,25,1333235322,IT
# 现在要让你实现两个功能:
# 第一个功能是实现给文件增加数据,用户通过输入姓名,年龄,电话,工作,
# 给原文件增加数据(增加的数据默认追加到原数据最后一行的下一行),但id要实现自增(id自增有些难度,id是不需要用户输入的但是必须按照顺序增加)。
# 第二个功能是实现给原文件删除数据,用户只需输入id,则将原文件对应的这一条数据删除(删除后下面的id不变,比如此时你输入1,则将第一条数据删除,
# 但是下面所有数据的id值不变及太白,nezha的 id不变)
# def add_info():
# '''
# 打开文件,把要添加的数据写进去,自增id
# 在添加之前先获取到这个行的id
# '''
# # 用户输入要写入文件的信息
# name = input('name :').strip()
# age = input('age :').strip()
# phone = input('phone :').strip()
# job = input('job :').strip()
# with open('file/userinfo',encoding='utf-8') as f:
# for line in f:
# id,*_ = line.split(',')
# id = str(int(id)+1)
# with open('file/userinfo',encoding='utf-8',mode = 'a') as f:
# f.write(','.join([id,name,age,phone,job]))
# f.write('\n')
# import os
# def del_info():
# # 先读 再写 某一段内容写不写取决于删不删
# del_id = input('id : ').strip()
# with open('file/userinfo',encoding='utf-8') as f1,\
# open('file/userinfo.new',mode='a',encoding='utf-8') as f2:
# for line in f1:
# id, *_ = line.split(',')
# if id != del_id :
# f2.write(line)
# os.remove('file/userinfo')
# os.rename('file/userinfo.new','file/userinfo')
#
# del_info()
python程序整理(2)的更多相关文章
- python程序整理(1)
''' 用户登录验证 要求: 1. 系统⾃动⽣成4位随机数. 作为登录验证码. 直接用就好. 这里不用纠结 提示. 生成随机数的办法. from random import randint num = ...
- python基础整理----基本概念和知识
整理一下python的基本概念和知识, 主要用python3为语法标准. python介绍 一种面向对象的解释性计算机设计语言,具有丰富和强大的库. python定位:"优雅".& ...
- 给大家一些改善 Python 程序的 91 个建议
读了一本还不错的书「编写高质量代码改善 Python 程序的 91 个建议」,大多数的建议是真心不错,我虽然写python也有3年多了,但是有些地方确实没去注意过,特地整理了一下,给大家参考. 我已经 ...
- 谈谈 Python 程序的运行原理
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,谈谈 Python 程序的运行原理 这篇文章准确说是『Python 源码剖析』的 ...
- 这几天加班熬夜把所有Python库整理了一遍,非常全面!
库名称简介 Chardet 字符编码探测器,可以自动检测文本.网页.xml的编码.colorama 主要用来给文本添加各种颜色,并且非常简单易用.Prettytable 主要用于在终端或浏览器端构建格 ...
- 利用setuptools发布Python程序到PyPI,为Python添砖加瓦
pip install的东西从哪里来的? 从PyPI (Python Package Index)来的,官网是: https://pypi.python.org/pypi/执行pip install ...
- Python库整理
库名称简介 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器端构建格式 ...
- 成为python程序员,对疫情过后的毕业生来说,真是一个不错的方向吗?
Python最近几年,一直被炒得很火,这其中有商业因素,但更重要的是即将到来的人工智能时代,而python就恰好是最适合的编程语言. 所以无论是在职的人,还是在校的学生,都想着跟上这一趋势,但,在今年 ...
- Python 库整理【收藏】
库名称简介 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器端构建格式 ...
随机推荐
- MySQL中存储json格式数据
1.1.1. JSON类型数据存储 新建表 create table json_user ( uid int auto_increment, data json, primary key(uid) ) ...
- sublime3 激活
起因 这段时间sublime一直抽风,每次打开都提示让我更新. 身为强迫症的我当然不能忍! 方法 关闭自动更新 点击菜单栏"Preferences"=> "Sett ...
- Intel-Pin的windows安装
环境安装 操作系统:windows10 需要环境: 1.Visual Studio Community 2019 Edition ( https://visualstudio.microsoft.c ...
- Ajax获取接口数据,url拼接参数跳转页面,js获取上一级页面参数给本页面
1.Ajax获取接口数据 function demo(){ //假设请求参数 var requestBody = [{ "name":"zhang", &quo ...
- Eclipse安装Mat工具分析教程
一.关于Mat MAT是Memory Analyzer的简称,它是一款功能强大的Java堆内存分析器.可以用于查找内存泄露以及查看内存消耗情况.MAT是基于Eclipse开发的,是一款免费的性能分析工 ...
- 初识ABP vNext(9):ABP模块化开发-文件管理
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 创建模块 模块开发 应用服务 运行模块 单元测试 模块使用 最后 前言 在之前的章节中介绍过ABP扩展实体,当时在用户 ...
- [Leetcode]225. 用队列实现栈 、剑指 Offer 09. 用两个栈实现队列
##225. 用队列实现栈 如题 ###题解 在push时候搞点事情:push时入队1,在把队2的元素一个个入队1,再交换队2和队1,保持队1除pushguocheng 始终为空. ###代码 cla ...
- 用华为HMS ML kit人体骨骼识别技术,Android快速实现人体姿势动作抓拍
你有没有过这种体验,拍照时对着镜头,脑子一片空白.表情僵硬.手和脚无处安放,最后拍出来的照片很是奇怪.拍照软件中的固定姿势抓拍功能可以帮助你:选择一个你想要的姿势模板,当你摆出同款姿势时,软件会进 ...
- Docker之简单操作
安装完Docker后,我们就可以与Docker进行交互来创建和管理容器等操作. 容器生命周期管理: 创建一个新的容器并运行一个命令 docker run [OPTIONS] IMAGE [COMMAN ...
- SQL中只要用到聚合函数就一定要用到group by 吗?
1.当聚集函数和非聚集函数出现在一起时,需要将非聚集函数进行group by2.当只做聚集函数查询时候,就不需要进行分组了.