python--第四天练习题
#1、写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者。
def rec(a,b,dep=1):
c = a + b
if dep == 10:
return c
return rec(b,c,dep+1)
print(rec(5,5))
#2、编写用户登录程序,(读写文本版,可注册用户,修改用户密码)
import os
#注册账号
def zhuce(user,pawd,file):
with open(file, 'r+', encoding='utf-8') as f1:
for line in f1:
if user == line.split(':')[0]:
return False
else:
f1.write(user + ':' + pawd + '\n')
return True
#登录账号
def denglu(user,pawd,file):
with open(file, 'r', encoding='utf-8') as f1:
for line in f1:
if '{}:{}'.format(user,pawd) == ''.join(line).strip():
return True
return False
#修改密码
def xiugai(user,pawd,file,new_pawd):
line2 = ''
ret = False
with open(file,'r') as f1,open('fana.bak','w') as f2:
for line in f1:
if '{}:{}'.format(user,pawd) == line.strip():
ret = True
line2 += line.replace(user + ':' + pawd, user + ':' + new_pawd)
else:
line2 +=line
if ret != True:
ret = False
f2.write(line2)
os.remove('fana.txt')
os.rename('fana.bak','fana.txt')
return ret
#注销用户
def zhuxiao(user,pawd,file):
line2 = ''
ret = False
with open(file,'r') as f1,open('fana.bak','w') as f2:
for line in f1:
if '{}:{}'.format(user,pawd) == line.strip():
ret = True
else:
line2 += line
if ret != True:
ret = False
f2.write(line2)
os.remove('fana.txt')
os.rename('fana.bak','fana.txt')
return ret
def taobao(arg):
file = 'fana.txt'
user = input("请输入用户名:")
pawd = input("请输入密码:")
if arg == 'z':
zhu = zhuce(user,pawd,file)
if zhu == False:
print("用户名已存在")
else:
print('注册成功')
elif arg == 'a':
deng = denglu(user,pawd,file)
if deng:
return '欢迎登陆淘宝!'
else:
print('账号或密码错误')
elif arg == 'x':
new_pawd = input("请输入您的新密码")
xiu = xiugai(user,pawd,file,new_pawd)
if xiu:
print("密码修改成功")
else:
print("账号或密码错误")
elif arg == 'e':
xiao = zhuxiao(user,pawd,file)
if xiao:
print("账号注销成功")
else:
print("账号或密码错误")
while True:
jd = input("注册请按:z,登陆请按:a,退出按:q >>")
if jd.lower() == 'z':
taobao('z')
elif jd.lower() == 'a':
ta = taobao('a')
if ta == '欢迎登陆淘宝!':
print('欢迎登陆淘宝!')
se = input('修改密码:x,注销:e >>')
if se == 'x':
print('修改密码前!',end='')
taobao('x')
elif se == 'e':
print('注销账号前!', end='')
taobao('e')
else:
print('请按照提示输入!')
elif jd.lower() == 'q':
print('退出成功')
break
else:
print("请按照提示输入!")
python--第四天练习题的更多相关文章
- 简学Python第四章__装饰器、迭代器、列表生成式
Python第四章__装饰器.迭代器 欢迎加入Linux_Python学习群 群号:478616847 目录: 列表生成式 生成器 迭代器 单层装饰器(无参) 多层装饰器(有参) 冒泡算法 代码开发 ...
- Python 基础 四 面向对象杂谈
Python 基础 四 面向对象杂谈 一.isinstance(obj,cls) 与issubcalss(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls ...
- 初学Python(四)——set
初学Python(四)——set 初学Python,主要整理一些学习到的知识点,这次是set. # -*- coding:utf-8 -*- #先来看数组和set的差别 d=[1,1,2,3,4,5] ...
- python 函数“四剑客”的使用和介绍
python函数四剑客:lambda.map.filter和reduce. 一.lambda(匿名函数) 1. 学习lambda要注意一下几点: lambda语句被用来创建新的函数对象,并且在运行的时 ...
- Python第四天 流程控制 if else条件判断 for循环 while循环
Python第四天 流程控制 if else条件判断 for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天 安装 shell 文件 Python第二天 ...
- 初识Python(四)
一.数字数据类型 Python的数字数据类型用于存储数值,它是不可变的数据类型,这意味着改变数字数据类型,则需要一个新分配的对象: Python支持四种不同的数值类型: 整型(Int):通常被称为是整 ...
- 孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数
孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 不同类型 ...
- 孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成
孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天经过反复折腾,最终基本上算 ...
- 孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数
孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天打算完成的是通用的(至少目 ...
- 孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类尝试第一天
孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类,尝试第一天 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 按上一天的规划,这是根据过去我自学其它编程语 ...
随机推荐
- uboot 添加自定义命令
ref : https://www.cnblogs.com/FREMONT/p/9824226.html 1.添加命令 1.1在common目录下,新建一个cmd_xx.c, 需要添加的命令格式为: ...
- AtCoder练习
1. 3721 Smuggling Marbles 大意: 给定$n+1$节点树, $0$为根节点, 初始在一些节点放一个石子, 然后按顺序进行如下操作. 若$0$节点有石子, 则移入盒子 所有石子移 ...
- Array Beauty CodeForces - 1189F (dp,好题)
大意: 定义$n$元素序列$a$的美丽度为 $\min\limits_{1\le i<j\le n}|a_i-a_j|$. 给定序列$a$, 求$a$的所有长为$k$的子序列的美丽度之和. 记 ...
- ORA-07445: exception encountered: core dump [opiaba()+639] [SIGSEGV] [ADDR:0x0] [PC:0x1858C3F] [SI_KERNEL(general_protection)] []
开发反馈应用无法连接数据库,发现数据库实例崩溃,且数据库为11.2.0.4 单实例. 数据库告警日志发现,数据库崩溃之前出现ORA- ORA-: exception encountered: core ...
- Nginx server配置
项目一般都需要前后端的配置,用二级域名把它区分开:首先在nginx.conf:里面加一句话: http{ #这里面有很多其他的配置 如:gzip FastCGI等等 include vhosts/*. ...
- 自动化测试之if __name__ == '__main__'未运行
自动化测试之if __name__ == '__main__'未运行 添加Count类 calculator.py: class Count: def __init__(self,a,b): self ...
- (五)lucene之特定项搜索和查询表达式
需求:模糊搜索. 前提: 本例中使用lucene 5.3.0 package com.shyroke.lucene; import java.io.File; import java.io.File ...
- (十)SpringBoot之web 应用开发-Servlets, Filters, listeners
一.需求 Web 开发使用 Controller 基本上可以完成大部分需求,但是我们还可能会用到 Servlet. FilterListene 二.案例 2.1 通过注册 ServletRegistr ...
- Html Agility Pack 使用 XPath 选择器
想做一个爬虫程序,以前用的一直使用CSS选择器的html解析插件,最近做的项目想使用 Html Agility Pack 来做解析 Html Agility Pack使用 XPath 和 Linq 来 ...
- IO流的部分类简述
InputStream 类: InputStream 位于 java.io 包中,它是一个抽象类,表示字节输入流,需要定义 InputStream 子类的应用程序必须总是提供返回下一个输入字节的方法 ...