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.调用函数 --享受 ...
随机推荐
- Day10--Python--动态传参,作用域
python的三目运算a = 10b = 20c = a if a > b else b #先判断中间的条件a > b是否成立,成立返回if前面的值,不成立返回else后面的值,也可以 c ...
- (map)What Are You Talking About hdu1075
What Are You Talking About Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 102400/204800 K ...
- consul配置和使用
一:consul介绍 consul用于提供服务发现和服务配置的工具.有以下特性:1. 服务发现 consul的客户端提供一个服务,比如api或者mysql,另外一个客户端就可以去发现指定服务的服务提供 ...
- SQLMAP UDF提权
SQLMAP UDF提权 1.连接mysql数据打开一个交互shell: sqlmap.py -d mysql://root:root@127.0.0.1:3306/test --sql-s ...
- CSS外边框、边界样式常用组合
一.CSS框线一览表 border-top : 1px solid #6699cc; /*上框线*/ border-bottom : 1px solid #6699cc; /*下框线*/ border ...
- str
print('字符串操作') s='abc DEF hij' print('首字母大写') print(s.capitalize()) print('全大写') print(s.upper()) pr ...
- spring boot 返回json字符串 null值转空字符串
@Configuration public class JacksonConfig { @Bean @Primary @ConditionalOnMissingBean(ObjectMapper.cl ...
- Kafka技术内幕 读书笔记之(一) Kafka入门
在0.10版本之前, Kafka仅仅作为一个消息系统,主要用来解决应用解耦. 异步消息 . 流量削峰等问题. 在0.10版本之后, Kafka提供了连接器与流处理的能力,它也从分布式的消息系统逐渐成为 ...
- BIO和NIO
在了解BIO,NIO,AIO之前先了解一下IO的几个概念: 1.同步与异步 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous com ...
- HDU - 6305 RMQ Similar Sequence(笛卡尔树)
http://acm.hdu.edu.cn/showproblem.php?pid=6305 题目 对于A,B两个序列,任意的l,r,如果RMQ(A,l,r)=RMQ(B,l,r),B序列里的数为[0 ...