python 的基础 学习 11天 作业题
1、整理函数相关知识点,写博客
2、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def func1(argv):
li = []
for i in range(len(argv)):#循环取奇数
if i %2 == 1:
li.append(argv[i])
return li
print(func1([1,2,3,4]))
def func(argv):return argv[1::2]#切片方法
print(func([1,2,3,4]))
3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
def func(argv):
if len(argv) > 5:
return True
else:return False
print(func('sjfjkskjf'))
def func(argv):
return True if len(argv) > 5 else False
print(func('jsajdjsaka'))
def func(argv):
return len(argv) > 5
print(func('adajjadj'))
4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def func(argv):
li = []
if len(argv) > 2:
li = argv[:2]
else:
li = argv
return li
print(func([2,4,4,3,2]))
def func(argv):
return argv[:2] if len(argv) > 2 else argv
print(func([1,3,4,5]))
def func(argv):
return argv[:2]
print(func([1,2,3,4]))
5、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数,并返回结果。
def func(argv):
dic = {'digit':0,'alpha':0,'space':0,'other':0}
for i in argv:
if i.isdigit():
dic['digit'] += 1
elif i.isalpha():
dic['alpha'] += 1
elif i.isspace():
dic['space'] += 1
else:
dic['other'] += 1
return '数字%d,字母%d,空格%d,其他%d'%(dic['digit'],dic['alpha'],dic['space'],dic['other'])
print(func('ajdj2384234 大家安静**&&'))
7、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表
def func(argv):
for i in argv:
if len(argv[i]) > 2:
argv[i] = argv[i][:2]
return argv
print(func({"k1": "v1v1", "k2": [11,22,33,44]}))
def func(argv):
for i in argv:
argv[i] = argv[i][:2]
return argv
print(func({"k1": "v1v1", "k2": [11,22,33,44]}))
8、写函数,接收两个数字参数,返回比较大的那个数字。
def func(a,b):
if a>b:
return a
else:
return b
print(func(11,33))
def func(a,b):
z=a if a>b else b
return z
print(func(22,444))
def max_min(a,b):
return a if a>b else b
print(max_min(444,55))
9、写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(进阶)。
import os
def File_modification(path,old,new):
with open(path,encoding='utf-8')as f1,\
open(path+'.bak',encoding='utf-8',mode='w') as f2:
for i in f1:
new_i = i.replace(old,new)
f2.write(new_i)
os.remove(path)
os.rename(path+'.bak',path)
return True
print(File_modification('a.txt','alex','SB'))
10、写一个函数完成三次登陆功能,再写一个函数完成注册功能(进阶)
def register():
while True:
flag = True
username = input('请输入用户名:')
with open('register_msg',encoding='utf-8')as f1:
for i in f1:
li = i.strip().split()
if username == li[0] or username == ' ':
print('用户名已存在,请重新输入')
break
else:
password = input('请输入密码:')
with open('register_msg',encoding='utf-8',mode='a')as f2:
f2.write('\n{}\t{}'.format(username,password))
print('注册成功')
return login() def login():
i = 0
while i <3:
i += 1
username = input('请输入用户名:')
password = input('请输入密码:')
with open('register_msg',encoding='utf-8') as f2:
for line in f2:
line = line.strip()
line_list = line.split(' ')
if username == line_list[0] and password == line_list[1]:
return True def func1(*args,**kwargs):
print('欢迎登录')
flag = True
while flag:
choice = input('1,登录,2,注册,Q,退出')
if choice == '':
is_login = login()
if is_login:
print('登录成功')
else:
print('登录失败')
flag = False
if choice == "":
register()
flag = False
elif choice == 'Q':
exit('bye')
flag = False func1()
python 的基础 学习 11天 作业题的更多相关文章
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
- Python入门基础学习 一
Python入门基础学习 一 Python下载及安装 下载地址:https://www.python.org/,选择最新的版本下载 稍等一会,安装完成. 简单语句 从idle启动Python:IDLE ...
- python函数基础学习
函数的定义与调用: def 函数名(参数1,参数2): ‘’’函数注释’’’ print(‘函数体’) return 返回值 定 义:def关键字开关,空格之后接函数名和圆括号,最后冒号结尾 def ...
- Python入门基础学习(文件与异常处理)
Python基础学习笔记(七) 捕获异常的语法格式: 文件的基本操作: 打开文件 读.写文件 关闭文件 read方法 --读取文件: open函数的第一个参数是要打开的文件名(文件名区分大小写) 如果 ...
- Python入门基础学习(时间模块,随机模块)
Python基础学习笔记(六) time模块: 时间的三种表示方法: 1.格式化字符串 2.时间戳 用来表示和1970年的时间间隔,单位为s 3.元组 struct_time 9个元素 time的st ...
- Python入门基础学习(模块,包)
Python基础学习笔记(五) 模块的概念:模块是python程序架构的一个核心概念 每个以拓展名py结尾的python源代码文件都是一个模块 模块名同样也是一个标识符,需要符合标识符的命名规则 在模 ...
- Python入门基础学习(面向对象)
Python基础学习笔记(四) 面向对象的三个基本特征: 封装:把客观事物抽象并封装成对象,即将属性,方法和事件等集合在一个整体内 继承:允许使用现有类的功能并在无须重新改写原来的类情况下,对这些功能 ...
- Python入门基础学习(函数)
Python基础学习笔记(三) 函数的概念: 所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用 函数的使用包含两个步骤: 1.定义函数 --封装独立的功能 2.调用函数 --享受 ...
随机推荐
- 加密解密DES之Android、IOS、C#实现
Android实现 package com.sto.express.utils; import java.security.MessageDigest; import java.security.sp ...
- ElasticSearch6.5.0 【Rejecting mapping update to [posts] as the final mapping would have more than 1 type】
今天想在一个Index上增加一个type,结果报错 java.lang.IllegalArgumentException: Rejecting mapping update to [posts] as ...
- Qt ------ excel 操作
写 excel // step1:连接控件 QAxObject* excel = new QAxObject(this); excel->setControl("Excel.Appli ...
- thinkphp 实现分页
一.一个条件的查询数据 查询数据自然是先要显示出数据,然后根据条件进行查询数据 (1)显示出表的数据 这个方法我还是写在了HomeController.class控制器文件中 (1.1)写了一个方法s ...
- lucene的CRUD操作Document(四)
IndexWriter writer = new IndexWriter(Directory, IndexWriterConfig); 增加文档:writer.addDocument(); 读取文档: ...
- (转载)python: getopt的使用;
注: 该文转载于https://blog.csdn.net/tianzhu123/article/details/7655499python中 getopt 模块, 该模块是专门用来处理命令行参数的 ...
- M1-Flask-Day3
内容概要: websocket mysql连接池 sqlalchemy flask-sqlalchemy 练习: 1. 谈谈Flask和Django的认识? Django大而全的框架,把Web相关设计 ...
- 使用mutt自动发送邮件
1.Mutt安装及环境配置 1.1.安装 sudo yum install mutt 比如你要设置邮件的发信人,需要做: sudo vim /etc/Muttrc set envelope_from= ...
- SSM结构
代码结构为 src:controller / mapper / entity / service /(serviceiml) webcontent:META-INF WEB-INF:lib(包含所 ...
- KVM安装启动虚拟机
KVM定制OpenStack云主机 如何定制化OpenStack云主机?从去年10月份刚开始接触OpenStack,到现在也有一年了.虽说目前只是停留在用它,对它的一些组件简单的了解,但谈到制作出一个 ...