python学习之老男孩python全栈第九期_day009作业
1. 写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
答:
l1 = []
def odd(li):
for i in range(1,len(li),2):
l1.append(li[i])
return l1
rec = ['KID', '灵均', '尹宁', '',123,456]
odd(rec)
print(l1)
结果:
['灵均', '', 456]
2. 写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
答:
def length(s):
if len(s) > 5:
return '长度大于5.'
else:
return '长度不大于5'
l = ['',2,3,4,5,6]
rec = length(l)
print(rec)
结果:
长度大于5.
3. 写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
答:
def func(s):
if len(s) > 2:
return s[:2]
else:
return s
li = [1,2,3,4,5,6,7,8,9]
rec = func(li)
print(rec)
结果:
[1, 2]
4. 写函数,计算传入字符串中[数字]、[字母]、[空格] 以及 [其他]的个数,并返回结果。
答:
def count(s):
dict = {'数字的个数:':0, '字母的个数:':0, '空格的个数:':0, '其他的个数:':0}
for i in s:
if i.isdigit():
dict['数字的个数:'] += 1
elif i.islower() or i.isupper():
dict['字母的个数:'] += 1
elif i.isspace():
dict['空格的个数:'] += 1
else:
dict['其他的个数:'] += 1
return dict
str = input('请输入内容:')
res = count(str)
print(res)
5. 写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容,并返回结果。
答:
def space(s):
if isinstance(s,(str, list, tuple)):
for i in s:
i = str(i)
if i.isspace():
return '含空内容'
return
else:
return '不是字符串,列表或元组'
a = [1, 2, 3, ' ',4, '', 5]
a1 = [1, 2, 3, 4, '', 5]
b = ' '
c = 'afagjk 啊哈搜集'
d = [' ',2,3,4,5]
e = (1,2,3,4,' ','')
f = {'name':'KID'}
print(space(a))
print(space(a1))
print(space(b))
print(space(c))
print(space(d))
print(space(e))
print(space(f))
结果:
含空内容
None
含空内容
含空内容
含空内容
含空内容
不是字符串,列表或元组
6. 写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表
答:
def func(s):
dic1 = {}
if isinstance(s,dict):
for k,v in s.items():
if len(v) > 2:
s[k] = v[0:2]
return s
else:
return '不是字典'
dic = {'k1': 'v1v1', 'k2': [11,22,33,44]}
res = func(dic)
print(res)
结果:
{'k1': 'v1', 'k2': [11, 22]}
7. 写函数,接收两个数字参数,返回比较大的那个数字。
答:
def func(a,b):
if a > b:
return a
else:
return b
res = func(1,2)
print(res)
结果:
2
8. 写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(进阶)。
9. 写一个函数完成三次登陆功能,再写一个函数完成注册功能
答:
user_name = 'KID'
password = '' def login():
for i in range(0,3):
name = input('请输入账号:')
if name == user_name:
psw = input('请输入密码:')
if psw == password:
print('恭喜你,登录成功.')
return
else:
print('密码输入错误')
if i == 2:
print('您的机会已用完,请12小时之后再试')
else:
print('您还有%s次机会' % (2 - i))
else:
print('该账号不存在')
if i == 2:
print('您的机会已用完,请12小时之后再试')
else:
print('您还有%s次机会' % (2 - i))
res = login() def regist():
while 1:
re_name = input('昵称')
if re_name == user_name:
print('该用户已存在')
else:
re_psw = input('密码')
return '注册成功'
ret = regist()
print(ret)
python学习之老男孩python全栈第九期_day009作业的更多相关文章
- python学习之老男孩python全栈第九期_day002作业
1. 判断下列逻辑语句的True,False.(1) 1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6Tru ...
- python学习之老男孩python全栈第九期_day015作业_老男孩Python全9期练习题(面试真题模拟)
一. 选择题(32分) 1. python不支持的数据类型有:AA. charB. intC. floatD. list 2. Ex = ‘foo’y = 2print(x + y)A. fooB. ...
- python学习之老男孩python全栈第九期_day007作业
一.关系运算 有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合pythons={'alex','egon','yuanhao','wu ...
- python学习之老男孩python全栈第九期_day009之文件操作总结
# 文件处理# 打开文件# open('路径','打开方式', '指定编码方式')# 打开方式:r w a 可读可写:r+ 可写可读:w+ 可追加可读:a+ b# r+ :打开文件直接写,和读完再写 ...
- python学习之老男孩python全栈第九期_day016作业
1. 请利用filter()过滤出1~100中平方根是整数的数,即结果应该是: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] import math def func( ...
- python学习之老男孩python全栈第九期_day001作业
1.使用while循环输入 1 2 3 4 5 6 8 9 10 count = 0 while count <= 9: count += 1 if count == 7:continu ...
- python学习之老男孩python全栈第九期_day004作业
看代码写结果:1. a=[1,2,3,6,"dfs",100]s=a[-1:]print (s) 结果:[100] 2. s=a[-1:0:-1]print(s) 结果:[100, ...
- python学习之老男孩python全栈第九期_day003作业
1. 有变量name = "aleX leNb" 完成如下操作:(1) 移除 name 变量对应的值两边的空格,并输出处理结果name = ' aleX leNb 'print(n ...
- python学习之老男孩python全栈第九期_day014作业
0. 默写a. 生成器函数获取移动平均值例子: def init(func): def inner(*args,**kwargs): ret = func(*args,**kwargs) ret.__ ...
随机推荐
- 防止sql注入的小函数 以及一些小验证
function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialch ...
- jQuery基础(2)
一.jQuery的属性操作 jQuery的属性操作分为四部分: html标签属性操作:是对html文档中的标签属性进行读取,设置和移除操作.比如attr().removeAttr(): DOM属性操作 ...
- 对"某V皮"N服务器节点的一次后渗透测试
i春秋作家:jasonx 前言:由于这个VPN节点服务器是之前拿到的,一直没时间做进一步渗透,昨天看到我蛋总表哥发红包,然后我运气爆表抢了个运气王,再加上好久没发文章了,所以就抽空测试下咯. 0×01 ...
- 版本控制工具git
公司要求用git,感觉不如svn好使,还是命令行的,暂时记录一下. 服务器是在linux上可以直接安装.我是虚拟机centos6.9版本.yum install -y git 查看版本号是git -- ...
- odoo开发笔记:抛出警告的方式
上边rase 加3种写法,都能实现,跑出警告的功能.
- Selenium之元素定位
1.查看页面元素:ID.class.type.name等. 2.通过webdriver的方法定位: find_element_by_name() find_element_by_id() find ...
- 安装的Android SDK下无doc文件夹问题 以及关联Android帮助文档和查看文档 以及查看在线文档
参考连接:https://blog.csdn.net/fangzicheng/article/details/78344521 https://jingyan.baidu.com/article/29 ...
- Linux信号和trap命令的使用
目录 信号介绍 信号列表 控制信号 Ctrl+c显示指定内容 使Ctrl+c无任何操作 处理多个信号 处理所有信号 恢复信号 实现跳板机(实例) 信号介绍 运行Shell脚本时,如果按下快捷键Ctrl ...
- jdk1.6空轮询Bug的原因及解决方法
简述 本文主要介绍一下jdk1.6版本中的NIO Selector空轮询BUG,描述一下BUG的现象及原因,以及Netty中如何巧妙的规避了这个bug. 为什么要写这篇文章,说来惭愧,很久以前面试官问 ...
- java SynchronousQueue
SynchronousQueue 内部没有容量,但是由于一个插入操作总是对应一个移除操作,反过来同样需要满足.那么一个元素就不会再SynchronousQueue 里面长时间停留,一旦有了插入线程和移 ...