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主要用于在终端或浏览器端构建格式 ...
随机推荐
- AutoGenerator自动生成代码
程序猿学社: https://blog.csdn.net/qq_16855077/article/details/105316295
- about blog
前言 今天无意中发现了一个小姐姐自己设计的的博客,感觉非常的nice,就随手copy一下,完了感觉效果还蛮好的 end 附上小姐姐的博客以及教程
- python根据密钥得到谷歌两步验证动态验证码
# coding=utf-8 import time import base64 import sys import hashlib import hmac import struct def goo ...
- selenium常用webdriver api汇总
1.driver.current_url:用于获得当前页面的URL 2.driver.title:用于获取当前页面的标题 3.driver.page_source:用于获取页面html源代码 4.dr ...
- Springboot中WebMvcConfigurer接口详解
Springboot 使用越来越多,企业的基本框架,到Springcloud分布式,可以说无论面试还是平常技术学习,一说到spring几乎就就代替了Java,可以说spring,springboot的 ...
- Conscription(POJ 3723)
原题如下: Conscription Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16584 Accepted: 57 ...
- oracle之SQL的数据类型
SQL的数据类型 3.1 四种基本的常用数据类型(表的字段类型) 1.字符型, 2.数值型,3.日期型,4.大对象型 3.1.1 字符型: char 固定字符,最长2000个 ...
- [剑指Offer]65-不用加减乘除做加法
题目 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 题解 用位运算模拟加法的三步: 无进位加法:异或运算. 进位:与运算再左移一位. 直到进位为0结束. 代码 pub ...
- 设计模式 | Catalog设计模式,抵御业务方需求变动
大家好,这是一个全新的专题--设计模式. 其实可以选择的专题还有好几个,为什么选择设计模式呢?原因也很简单,首先是设计模式简单.易学.干货的文章固然好,但是普适性往往不强.另外一个很重要的点就是设计模 ...
- hystrix源码之AbstractCommand
AbstractCommand HystrixCommand和HystrixObservableCommand的父类.每个command对应一个HystrixCommandKey.HystrixThr ...