python学习之老男孩python全栈第九期_day009作业

1. 写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。

答:

1 l1 = []
2 def odd(li):
3     for i in range(1,len(li),2):
4         l1.append(li[i])
5     return l1
6 rec = ['KID', '灵均', '尹宁', '123',123,456]
7 odd(rec)
8 print(l1)

结果:

['灵均', '123', 456]

2. 写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。

答:

1 def length(s):
2     if len(s) > 5:
3         return '长度大于5.'
4     else:
5         return '长度不大于5'
6 l = ['1',2,3,4,5,6]
7 rec = length(l)
8 print(rec)

结果:

长度大于5.
扫描二维码关注公众号,回复: 1935436 查看本文章

3. 写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

答:

1 def func(s):
2     if len(s) > 2:
3         return s[:2]
4     else:
5         return s
6 li = [1,2,3,4,5,6,7,8,9]
7 rec = func(li)
8 print(rec)

结果:

[1, 2]


4. 写函数,计算传入字符串中[数字]、[字母]、[空格] 以及 [其他]的个数,并返回结果。

答:

 1 def count(s):
 2     dict = {'数字的个数:':0, '字母的个数:':0, '空格的个数:':0, '其他的个数:':0}
 3     for i in s:
 4         if i.isdigit():
 5             dict['数字的个数:'] += 1
 6         elif i.islower() or i.isupper():
 7             dict['字母的个数:'] += 1
 8         elif i.isspace():
 9             dict['空格的个数:'] += 1
10         else:
11             dict['其他的个数:'] += 1
12     return dict
13 str = input('请输入内容:')
14 res = count(str)
15 print(res)

5. 写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容,并返回结果。

答:

 1 def space(s):
 2     if isinstance(s,(str, list, tuple)):
 3         for i in s:
 4             i = str(i)
 5             if i.isspace():
 6                 return  '含空内容'
 7         return
 8     else:
 9         return '不是字符串,列表或元组'
10 a = [1, 2, 3, ' ',4, '7', 5]
11 a1 = [1, 2, 3, 4, '7', 5]
12 b = '   '
13 c = 'afagjk  啊哈搜集'
14 d = [' ',2,3,4,5]
15 e = (1,2,3,4,' ',' 1')
16 f = {'name':'KID'}
17 print(space(a))
18 print(space(a1))
19 print(space(b))
20 print(space(c))
21 print(space(d))
22 print(space(e))
23 print(space(f))

结果:

1 含空内容
2 None
3 含空内容
4 含空内容
5 含空内容
6 含空内容
7 不是字符串,列表或元组

6. 写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表

答:

 1 def func(s):
 2     dic1 = {}
 3     if isinstance(s,dict):
 4         for k,v in s.items():
 5             if len(v) > 2:
 6                 s[k] = v[0:2]
 7         return s
 8     else:
 9         return '不是字典'
10 dic = {'k1': 'v1v1', 'k2': [11,22,33,44]}
11 res = func(dic)
12 print(res)

结果:

{'k1': 'v1', 'k2': [11, 22]}

7. 写函数,接收两个数字参数,返回比较大的那个数字。

答:

1 def func(a,b):
2     if a > b:
3         return a
4     else:
5         return b
6 res = func(1,2)
7 print(res)

结果:
2


8. 写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(进阶)。


9. 写一个函数完成三次登陆功能,再写一个函数完成注册功能

答:

 1 user_name = 'KID'
 2 password = '123'
 3 
 4 def login():
 5     for i in range(0,3):
 6         name = input('请输入账号:')
 7         if name == user_name:
 8             psw = input('请输入密码:')
 9             if psw == password:
10                 print('恭喜你,登录成功.')
11                 return
12             else:
13                 print('密码输入错误')
14                 if i == 2:
15                     print('您的机会已用完,请12小时之后再试')
16                 else:
17                     print('您还有%s次机会' % (2 - i))
18         else:
19             print('该账号不存在')
20             if i == 2:
21                 print('您的机会已用完,请12小时之后再试')
22             else:
23                 print('您还有%s次机会' % (2 - i))
24 res = login()
25 
26 
27 def regist():
28     while 1:
29         re_name = input('昵称')
30         if re_name == user_name:
31             print('该用户已存在')
32         else:
33             re_psw = input('密码')
34             return '注册成功'
35 ret = regist()
36 print(ret)

猜你喜欢

转载自www.cnblogs.com/YD2018/p/9278469.html