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

  1. def func1(List):
  2. List2 = []
  3. for num in range(len(List)):
  4. if num % 2 != 0:
  5. List2.append(List[num])
  6. return List2

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

  1. def fun1(Object):
  2. if type(Object) != tuple and type(Object) != list and type(Object) != str:
  3. print('您传入的参数有误')
  4. return 1
  5. if len(Object) > 5:
  6. print('您的参数长度挺大')
  7. else:
  8. print('太他吗短了~')
  9. return

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

  1. def func1(List):
  2. if len(List) > 2:
  3. return List[0:2]

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

  1. def func1(Str):
  2. Dict = {'数字':0,'字母':0,'空格':0,'其他':0}
  3. for i in Str:
  4. if i.isdigit():
  5. Dict['数字'] = Dict['数字'] + 1
  6. elif i.isalpha():
  7. Dict['字母'] = Dict['字母'] + 1
  8. elif i.isspace():
  9. Dict['空格'] = Dict['空格'] + 1
  10. else:
  11. Dict['其他'] = Dict['其他'] + 1
  12. return Dict

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

  1. def func1(Object):
  2. if isinstance(Object,(str,list,tuple)):
  3. for i in Object:
  4. i = str(i)
  5. if i.isspace():
  6. print('包含空格')
  7. return

6、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

  1. def func1(Object):
  2. if isinstance(Object,dict):
  3. for i,k in Object.items():
  4. if len(k) > 2:
  5. Object[i] = k[0:2]
  6. return Object

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

  1. def func1(n,m):
  2. if isinstance(n,int) and isinstance(m,int):
  3. if n > m:
  4. return n
  5. else:
  6. return m
  7. print('参数有误,请重新传入')
  8. return 1

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

  1. def func(filename,old,new):
  2. with open(filename, encoding='utf-8') as f, open('%s.bak'%filename, 'w', encoding='utf-8') as f2:
  3. for line in f:
  4. if old in line:
  5. line = line.replace(old,new)
  6. f2.write(line)
  7. import os
  8. os.remove(filename)
  9. os.rename('%s.bak'%filename, filename)

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

  1. def regis():
  2. N = 0
  3. while N < 3:
  4. Input_Username = input('请输入您要注册的账号:')
  5. Input_Password = input('请输入您要注册的密码:')
  6. if Input_Username.isdigit() and len(Input_Username) > 0 and len(Input_Username) < 11:
  7. if Input_Password.isalnum() and len(Input_Password) > 0 and len(Input_Password) < 16:
  8. with open('Username','a',encoding='utf-8') as File:
  9. File.write('\n'+ Input_Username + ',' + Input_Password)
  10. print('注册成功,您可以登陆了')
  11. break
  12. else:
  13. print('注册失败,请重新注册!')
  14. N += 1
  15. else:
  16. print('注册失败!')
  17.  
  18. def login():
  19. Count = 0
  20. while Count < 3:
  21. Input_u = input('请输入您要登陆的用户名:')
  22. Input_p = input('请输入您要登陆的密码:')
  23. if Input_u.isdigit() and len(Input_u) > 0 and len(Input_u) < 11:
  24. if Input_p.isalnum() and len(Input_p) > 0 and len(Input_p) < 16:
  25. with open('Username',encoding='utf-8') as File:
  26. for i in File.readlines():
  27. List = i.split(',')
  28. if Input_u == List[0] and Input_p == List[1]:
  29. print('登陆成功,欢迎您!')
  30. break
  31. else:
  32. print('你输错啦,请重新输入')
  33. continue
  34. break
  35. else:
  36. print('你输错啦,请重新输入')
  37. Count += 1

10、写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。用户通过输入这四个内容,然后将这四个内容传入到函数中,此函数接收到这四个内容,将内容追加到一个student_msg文件中。

  1. def func(name,sex,age,edu):
  2. Edu = ['小学','初中','高中','专科','本科','硕士','博士']
  3. if name.isalpha() and sex in ['男','女'] and age.isdigit() and edu in Edu:
  4. with open('student_msg','a+',encoding='utf-8') as File1:
  5. File1.write("%s\t%s\t%s\t%s\n"%(name,sex,age,edu))
  6. return '感谢您的配合'
  7. else:
  8. print('您输入的内容有误')
  9. return 'Good-bye'

11、在上面题目的基础上添加后续功能:支持用户持续输入,Q或者q退出,性别默认为男,如果遇到女学生,则把性别输入女。

  1. def func(name,age,edu,sex = '男'):
  2. Edu = ['小学','初中','高中','专科','本科','硕士','博士']
  3. if name.isalpha() and age.isdigit() and edu in Edu and sex in ['男','女']:
  4. with open('student_msg','a+',encoding='utf-8') as File1:
  5. File1.write("%s\t%s\t%s\t%s\n"%(name,sex,age,edu))
  6. return '感谢您的配合'
  7. else:
  8. print('您输入的内容有误')
  9. return 'Good-bye'
  10.  
  11. while 1:
  12. name = input('请输出您的名字:')
  13. age = input('请输出您的年龄:')
  14. edu = input('请输出您的学历:')
  15. sex = input('请输出您的性别:')
  16. func(name,sex,age,edu)
  17. choose = input('是否继续,按任意键回车,退出请按Q:')
  18. if choose.upper() == 'q'.upper():
  19. print('感谢您的配合!Good-bye')
  20. break

老男孩Python全栈学习 S9 日常作业 009的更多相关文章

  1. 老男孩Python全栈学习 S9 日常作业 006

    1.使用循环打印以下效果: 1: * ** *** **** ***** 2: ***** **** *** ** * 3: * *** ***** ******* ********* for i i ...

  2. 老男孩Python全栈学习 S9 日常作业 012

    1.斐波那契数列用递归实现:问第n个斐波那契数是多少 def fbnq(n): if n == 0 or n == 1: return 1 else: return fbnq(n-1)+fbnq(n- ...

  3. 老男孩Python全栈学习 S9 日常作业 008

    1.有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合 pythons={'alex','egon','yuanhao','wupeiq ...

  4. 老男孩Python全栈学习 S9 日常作业 010

    1.写函数,接收n个数字,求这些参数数字的和. def func1(*Num): num = 0 for i in Num: num += i return num 2.读代码,回答:代码中,打印出来 ...

  5. 老男孩Python全栈学习 S9 日常作业 001

    1.简述变量命名规范 必须以字母.数字.下划线命名,且不能以数字开头 不能是python的关键字 不能以中文或者拼音作为变量名 命名格式推荐以驼峰式或者下划线连接命名 区分大小写 要有意义,具有可描述 ...

  6. 老男孩Python全栈学习 S9 日常作业 013

    1.写一个求正方形周长和面积的类 class perimeter: def __init__(s,long): s.long = long def Perimeter(s): print((s.lon ...

  7. 老男孩Python全栈学习 S9 日常作业 011

    1.编写装饰器,为函数加上统计时间的功能 import time def Decoration(func): def Timmer(): # 开始时间 Start = time.time() func ...

  8. 老男孩Python全栈学习 S9 日常作业 007

    1.把列表中所有姓周的人的信息删掉 lst = ['周老二', '周星星', '麻花藤', '周扒皮'] lst = ['周老二', '周星星', '麻花藤', '周扒皮'] lst2 = [] fo ...

  9. 老男孩Python全栈学习 S9 日常作业 005

    1.有如下变量,请实现要求的功能 tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age& ...

随机推荐

  1. ubuntu18.04 ssh 远程系统拒绝连接 解决方法

    错误提示是这个: The remote system refused the connection. 原因是 Ubuntu 没安装  一个软件, 废话不多说 ,上解决方法: 执行该条命令,安装 ,安装 ...

  2. 简述同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区别

    POSIX 同步IO.异步IO.阻塞IO.非阻塞IO,这几个词常见于各种各样的与网络相关的文章之中,往往不同上下文中它们的意思是不一样的,以致于我在很长一段时间对此感到困惑,所以想写一篇文章整理一下. ...

  3. linux驱动简单介绍

     linux驱动简单介绍 驱动基本介绍 驱动.顾名思义就是“驱使硬件设备行动”.设备驱动与底层硬件之间打交道,按照硬件设备的具体操作方式来读写设备寄存器,最终完成一系列操作. 设备 驱动充当了应用程序 ...

  4. nginx配置文件详细解读

    https://m.w3cschool.cn/nginx/nginx-d1aw28wa.html ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户 ...

  5. 弱网测试-Network Emulator 网络模拟工具使用

    参考链接 https://www.jianshu.com/p/6a3d38aafac1

  6. vector入门

    vector怎么用? vector是什么? 你可以把它理解为一个数阵: 调用#include<vector> 定义:vector<int>v[N];//开一个名字叫做v的数字串 ...

  7. C语言中printf,scanf,puts,%%等输出格式

    #include<stdio.h> int main(void){    int a;    printf("请输入一个整数,程序求取他的最后一位数字:");    s ...

  8. [kuangbin带你飞]专题二十二 区间DP-E-POJ - 1651

    区间DP模板题 做区间DP的题目的时候,我们考虑DP[i][j]的含义是什么? 由题意大概是这样的,我们可以从n个数中每次选一个我们以前没选过的数字拿走,需要消耗a[i]*a[i+1]*a[i-1]的 ...

  9. eplan图框制作

    1. 首先,新建一个原理图项目 2. 新建图框.选择“工具”→“主数据”→“图框”→“新建” 在“文件名”中输入文件名,保存. 3.添加新建图框属性选项.选中“新建符号*”,添加选项 4. 设置图框的 ...

  10. 安装Cnario Player 3.8.1.156或其他版本时提示"Warning 4154. Adobe Flash Player 13 ...not correctly installed"

    错误提示 安装Cnario Player 3.8.1.156或其他版本时, 有时会出现如下提示: Warning 4154. Adobe Flash Player 13 ...not correctl ...