# 写一个函数完成三次登陆功能:
# 用户的用户名密码从一个文件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)的更多相关文章

  1. python程序整理(1)

    ''' 用户登录验证 要求: 1. 系统⾃动⽣成4位随机数. 作为登录验证码. 直接用就好. 这里不用纠结 提示. 生成随机数的办法. from random import randint num = ...

  2. python基础整理----基本概念和知识

    整理一下python的基本概念和知识, 主要用python3为语法标准. python介绍 一种面向对象的解释性计算机设计语言,具有丰富和强大的库. python定位:"优雅".& ...

  3. 给大家一些改善 Python 程序的 91 个建议

    读了一本还不错的书「编写高质量代码改善 Python 程序的 91 个建议」,大多数的建议是真心不错,我虽然写python也有3年多了,但是有些地方确实没去注意过,特地整理了一下,给大家参考. 我已经 ...

  4. 谈谈 Python 程序的运行原理

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,谈谈 Python 程序的运行原理 这篇文章准确说是『Python 源码剖析』的 ...

  5. 这几天加班熬夜把所有Python库整理了一遍,非常全面!

    库名称简介 Chardet 字符编码探测器,可以自动检测文本.网页.xml的编码.colorama 主要用来给文本添加各种颜色,并且非常简单易用.Prettytable 主要用于在终端或浏览器端构建格 ...

  6. 利用setuptools发布Python程序到PyPI,为Python添砖加瓦

    pip install的东西从哪里来的? 从PyPI (Python Package Index)来的,官网是:  https://pypi.python.org/pypi/执行pip install ...

  7. Python库整理

    库名称简介 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器端构建格式 ...

  8. 成为python程序员,对疫情过后的毕业生来说,真是一个不错的方向吗?

    Python最近几年,一直被炒得很火,这其中有商业因素,但更重要的是即将到来的人工智能时代,而python就恰好是最适合的编程语言. 所以无论是在职的人,还是在校的学生,都想着跟上这一趋势,但,在今年 ...

  9. Python 库整理【收藏】

    库名称简介 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器端构建格式 ...

随机推荐

  1. centOS7 安装jdk压缩包版

    1.到官网下载jdk https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.将压 ...

  2. 渣渣的Leetcode之旅(Python3)_1.两数之和

    题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标.你可以假设每种输入只会对应一个答案.但是,数组中同一个元素不能使用两遍 ...

  3. SpringBoot中使用切面的每次传的参数,进行解析,验签,并返回解码后的参数

    目的,在每次请求的时候,对每次传的参数,进行解析,验签,并返回解码后的参数, 以json传递: 例子背景: IOT平台提供对外可访问的接口, 需要对所有参数的传递做到 不泄露.认证的目的:所以需要在每 ...

  4. 一道JavaScript的二维数组求平均数的题

    JavaScript中只支持一维数组,但是可以在数组中嵌套数组来创建二维以至于多维的数组.今天下午在看书时候,发现一道感觉比较有意思的题,就是js中如何求二维数组的列之和和行之和,现在就给大家分享下, ...

  5. Java基本数据类型、关键字

    Java基本数据类型.关键字 一.Java基本数据类型 Java有8中基本数据类型:byte\char \short \int\float\double\long\boolean 在说明每种类型大小前 ...

  6. SpringBoot框架:使用mybatis连接mysql数据库完成数据访问(二)

    一.导入依赖包 1.在创建项目时勾选: 勾选SQL中的JDBC API.MyBatis Framework.MySQL Driver,创建项目后就会自动配置和引入这些包. 2.在pom.xml文件中添 ...

  7. 容器云平台No.9~kubernetes日志收集系统EFK

    EFK介绍 EFK,全称Elasticsearch Fluentd Kibana ,是kubernetes中比较常用的日志收集方案,也是官方比较推荐的方案. 通过EFK,可以把集群的所有日志收集到El ...

  8. 快速上手开发——JFinal配置(全步骤图文解析)

    摘要: 因为发现官网上只有Eclipse的配置文档,就写了这篇基于IDEA+maven的配置流程.本文使用安装了maven插件的IDEA进行配置,为了照顾IDEA新手,几乎每个步骤都截了图. 环境说明 ...

  9. Java多线程--AQS

    ReentrantLock和AQS的关系 首先我们来看看,如果用java并发包下的ReentrantLock来加锁和释放锁,是个什么样的: 1 ReentrantLock reentrantLock ...

  10. Token机制,session机制

    对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中知道有这个东西,但却不知道为什么要用他? session机制:就是一个id号(cookie里面携带一个sessionid), ...