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.__ ...
随机推荐
- C# byte array 跟 string 互转
用 System.Text.Encoding.Default.GetString() 转换时,byte array 中大于 127 的数据转 string 时会出问题. 把这里的 Default 换成 ...
- 组件基础(插槽slot)—Vue学习笔记
刚开始我们淡淡提过<slot></slot>现在深入了解一下. slot可以进行父组件传值到子组件. 比如:我们将hiboy通过<slot>传递到组件中. < ...
- iOS-iOS9系统SEGV_ACCERR问题处理【v3.6.3的一些bug修复】
前言 最近APP不断地更新版本,却发现一些未知的错误导致崩溃,我把能测出来的错误,全部修复了,因为项目里集成了腾讯Bugly,看了下后台的崩溃,依旧千篇一律啊,然后就纠结了,很多SEGV_ACCERR ...
- 剑指offer五之用两个栈实现队列
一.题目 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 二.思路 1.Push操作:将数据直接压入stack1即可 2.Pop操作:将stack1中的数据全部弹 ...
- Metasploit数据库问题汇总
数据库在metaspoit中是相当重要的,当做一个大型渗透测试项目的时候,收集到的信息是相当大的,当和你的同伴一起协同作战的时候,你们可能 在不同的地方,所以数据共享很重要了!而且Metasploit ...
- 修改gitlab仓库地址
最近使用GitLab 搭建了Git的私有仓库,但是发现私有仓库的地址是一串序列号,搞了半天克隆时都是提醒仓库无效,后来才觉得不对,不是本机的IP地址如图 对此我们需要修改gitlab.yml文件: 1 ...
- webstorm引用ESLint进行静态代码检查
安装 ESLint 基于 Node 平台,所以 Nodejs 是必须安装的,然后通过 npm 安装 ESLint 包,至于全局安装还是作为开发依赖安装,取决于个人. 然后在 WebStorm 中,打开 ...
- win2003 远程连接限制
1.单击开始->运行,输入gpedit.msc,打开组策略编辑器,找到计算机配置 ->管理模版 -> Windows组件 ->终端服务.把限制连接数量的属性修改成我们需要的数字 ...
- j2ee高级开发技术课程第八周
介绍一. hashCode()方法和equal()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致,那么equal()既然已经能实现对比的功能了,为什么还要hashCode()呢? 因 ...
- Redis安装以及主从实现
Redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串). list(链表).set(集合)和zset(有序 ...