#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--第四天练习题的更多相关文章

  1. 简学Python第四章__装饰器、迭代器、列表生成式

    Python第四章__装饰器.迭代器 欢迎加入Linux_Python学习群  群号:478616847 目录: 列表生成式 生成器 迭代器 单层装饰器(无参) 多层装饰器(有参) 冒泡算法 代码开发 ...

  2. Python 基础 四 面向对象杂谈

    Python 基础  四  面向对象杂谈 一.isinstance(obj,cls) 与issubcalss(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls ...

  3. 初学Python(四)——set

    初学Python(四)——set 初学Python,主要整理一些学习到的知识点,这次是set. # -*- coding:utf-8 -*- #先来看数组和set的差别 d=[1,1,2,3,4,5] ...

  4. python 函数“四剑客”的使用和介绍

    python函数四剑客:lambda.map.filter和reduce. 一.lambda(匿名函数) 1. 学习lambda要注意一下几点: lambda语句被用来创建新的函数对象,并且在运行的时 ...

  5. Python第四天 流程控制 if else条件判断 for循环 while循环

    Python第四天   流程控制   if else条件判断   for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Python第二天 ...

  6. 初识Python(四)

    一.数字数据类型 Python的数字数据类型用于存储数值,它是不可变的数据类型,这意味着改变数字数据类型,则需要一个新分配的对象: Python支持四种不同的数值类型: 整型(Int):通常被称为是整 ...

  7. 孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数

    孤荷凌寒自学python第四十九天继续研究跨不同类型数据库的通用数据表操作函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 不同类型 ...

  8. 孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成

    孤荷凌寒自学python第四十八天通用同一数据库中复制数据表函数最终完成 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天经过反复折腾,最终基本上算 ...

  9. 孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数

    孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天打算完成的是通用的(至少目 ...

  10. 孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类尝试第一天

     孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类,尝试第一天 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 按上一天的规划,这是根据过去我自学其它编程语 ...

随机推荐

  1. PAT甲级 图的遍历 相关题_C++题解

    图的遍历 PAT (Advanced Level) Practice 图的遍历 相关题 目录 <算法笔记>重点摘要 1021 Deepest Root (25) 1076 Forwards ...

  2. 【转】利用匿名namespace解决C++中重复定义的问题

    目录 利用匿名namespace解决C++中重复定义的问题 原文:https://blog.csdn.net/pi9nc/article/details/11267031 利用匿名namespace解 ...

  3. Core使用SAP Web Service

    .Net Core在使用SAP的Web Service会遭遇到一些错误,貌似目前并不支持SAP中的Web Service,我们需要曲线实现下调用过程: 经测试,不再需要Framework项目中转,Sy ...

  4. harbor上传镜像

    在harbor服务器 1. 下载测试上传使用的镜像docker pull hello-world2. 打tagdocker tag docker.io/hello-world:latest 172.1 ...

  5. 题解 P3378 【【模板】堆】

    Update 18.2.27----想当年我还用着C..... 看到题解里一堆用C++ STL库中的优先队列,身为C语言选手心里不是滋味 故手打一个优先队列献给坚守在C语言的选手 #include & ...

  6. ElasticSearch创建动态索引

    ElasticSearch创建动态索引 需求:某实例需要按照月份来维护,所以之前的“写死”索引的方式当然不行了.通过百度和看SpringDataElasticSearch官方文档,最后解决了这个问题. ...

  7. form表单详解

    form表单 form是一个复杂的系统标签,其内部又可包含很多的一些输入标签 例如input 输入文本标签  checkbox 多选标签等等 form表单有几个属性我们需要注意一下 1:action属 ...

  8. js入门之函数

    一. 函数 函数可以封装一段特定功能的代码,然后通过函数名可以重复调用 1 .函数的定义 funcation 函数名 (){ 函数体 } 函数名() 调用函数 2. 函数的参数 funcation f ...

  9. Java基础加强-代理

    /*代理*//*代理的概念与作用*/ 代理过程架构 客户端Client原来直接调用的是Target目标类 使用代理后,现在让客户端不要调用Target,调用代理类Proxy,代理类Proxy和目标类T ...

  10. EF数据Linq方式查询

    using (var ctx = new NorthwindEntities()) { //单表查询SQL查询方式 //SELECT * FROM Customers AS c WHERE c.Cit ...