1.整理函数相关知识点,写博客。
以def 定义函数,空格 函数名 ():(英文冒号) -》 定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个":"。
函数名:函数名只能包含字符串、下划线和数字且不能以数字开头。
注释:每一个函数都应该对功能和参数进行相应的说明,应该写在函数下面第一行。以增强代码的可读性。
2.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def ret_lst(a): lst = [] for index in range(0,len(a)+1,2): lst.append(a[index]) return lst print(ret_lst(input("输入几个数: ").split()))
3.写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
def len_num(a): if len(a) >5: return "传入的长度大于5!" else: return "传入长度不大于5!" print(len_num([1,23,45,34]))
4.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def len_str(a): if len(a) >2: return a[:2] else: pass print(len_str([2,3]))
5 .写函数,计算传入函数的字符串中,[数字]、[字母]、[空格] 以及 [其他]的个数,并返回结果。
def num1(str1): let1 = 0 spa = 0 dig = 0 oth_ers = 0 for i in str1: if i.isdigit(): dig += 1 elif i.isalpha(): let1 += 1 elif i.isspace(): spa += 1 else: oth_ers += 1 print("有{}个数字,{}个字母,{}个空格,其他{}个".format(dig,let1,spa,oth_ers)) num1( )
6 . 写函数,接收两个数字参数,返回比较大的那个数字。
def max1(a,b):
return a if a>b else b
print(max1(18,12))
7 . 写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
dic1 = {"k1": "v1v1", "k2": [11,22,33,44]} def str1(a): for key in a: if len(a[key])>2: a[key]=a[key][:2] return a print(str1(dic1))
8.写函数,此函数只接收一个参数且此参数必须是列表数据类型,此函数完成的功能是返回给调用者一个字典,此字典的键值对为此列表的索引及对应的元素。例如传入的列表为:[11,22,33] 返回的字典为 {0:11,1:22,2:33}。
def dic_str(a): dic1 = {} if type(a) != list: print("必须是列表!") else: for index in range(len(a)): dic1[index] = a[index] return dic1 print(dic_str([11,23,11,78,97]))
9 . 写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。用户通过输入这四个内容,然后将这四个内容传入到函数中,此函数接收到这四个内容,将内容追加到一个student_msg文件中。
def stu_msg(name,sex,age,education): return name,sex,age,education ret = str(stu_msg('keyu','male',12,'mst')) # 注意 返回多个值为元组,需用str()转下。 with open('student_msg', "w", encoding="utf-8") as f: f.write(ret)
10 . 对第9题升级:支持用户持续输入,Q或者q退出,性别默认为男,如果遇到女学生,则把性别输入女。
def stu_msg(name,age,education,sex="男"): return name,sex,age,education while 1: str1 = input("请输入用户姓名、年龄、性别、学历(q或Q退出): ") if str1.upper()=="Q": break else: str1 =str1.split() if len(str1) > 3: name, age, education, sex = str1 ret = stu_msg(name,age,education,sex) else: name, age, education = str1 ret = stu_msg(name, age, education) with open('student1_msg', "w", encoding="utf-8") as f: f.write(str(ret))