#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. PHP之即点即改

    html: <td data-hide="1200" class="px12" id ="<?php echo $v['g_id'];?& ...

  2. 关于Django ModelForm渲染时间格式问题

    关于Django ModelForm渲染时间格式问题 直接定义DateTimeInput或者DateTimeFile是不行的,渲染在html页面中的仍然是Input text类型 解决办法:自定义小部 ...

  3. Nginx学习笔记(四):基本数据结构

    目录 Nginx的一些特点 Nginx自定义整数类型 异常机制错误处理 内存池 字符串 时间与日期 运行日志   Nginx的一些特点 高性能 采用事件驱动模型,可以无阻塞的处理海量并发连接 高稳定性 ...

  4. 17-MySQL DBA笔记-应用程序调优

    第17章 应用程序调优 本章将主要讲述应用程序调优的一些方法和步骤,应用程序调优的领域很广,本章主要关注的是涉及数据库方面的调优. 在进行性能分析之前,我们先要熟悉应用的角色,它是什么版本的,做什么的 ...

  5. (四)CXF之处理Map类型的数据

    一.需求描述 正常来讲webService可以处理Java 数据类型.JavaBean.List等,但是却不能处理Map数据类型.本章讲解如何使用适配器来使得web服务可以处理Map数据类型. 流程: ...

  6. python练习:函数2

    习题: 定义一个方法get_num(num),num参数是列表类型,判断列表里面的元素为数字类型.其他类型则报错,并且返回一个偶数列表:(注:列表里面的元素为偶数). def get_num(num) ...

  7. ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 视图引用资源

    https://www.cnblogs.com/Roxlin/p/5615144.html 一.配置BundleConfig.cs文件 1.首先要在App_Start 里面BundleConfig.c ...

  8. opencv 加载pb

    1.错误1         Tensor's data type is not supported the type of Mul  is DF_Float 2.  错误2 type == " ...

  9. ubantu18.04 配置nginx与uwsgi(前后端分离)

    ubantu18.04 配置nginx与uwsgi   一.首先先安装nginx静态服务 先更新 sudo apt-get update 1.安装gcc g++的依赖库 sudo apt-get in ...

  10. 关闭google默认打开翻译提醒

    关闭google默认打开翻译提醒 在header中添加以下代码: <meta name="google" content="notranslate" /& ...