1.整理函数相关知识点
2.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def func(lst):
lst = lst[1::2]
return lst
传列表
lst = [1,2,3,4,5,6,7,8,9]
f = func(lst)
print(f)
传元组
tu = (1,2,3,4,5,6,7,8,9)
f = func(tu)
print(f)
3.写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
def my_len(s):
count = 0
for i in s:
count += 1
return count
s = "dasd"
lst = [1,2,3,4]
tu = ("ada",1,'sda')
a = my_len(s)
b = my_len(lst)
c = my_len(tu)
print(a)
print(b)
print(c)
4.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def check(lst):
if len(lst) > 2:
lst = lst[:2]
return lst
lst = [1,2,3,4]
a = check(lst)
print(a)
5.写函数,计算传入函数的字符串中,[数字]、[字母] 以及 [其他]的个数,并返回结果。
def num(s):
int_count = 0
alpha_count = 0
qt_count = 0
for i in s:
if i.isdecimal():
int_count += 1
elif i.isalpha():
alpha_count += 1
else:
qt_count += 1
return int_count,alpha_count,qt_count
s = "1564dasihd,;',.在"
a,b,c = num(s)
print(f"数字{a}个,字母{b}个,其他{c}个")
6.写函数,接收两个数字参数,返回比较大的那个数字。
def max(a,b):
if a > b:
pass
else:
a,b =b,a
return a
print(max(456,1223))
7.写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表
def check(dic):
for k in dic.keys():
if len(dic[k]) > 2:
dic[k] = dic[k][0:2]
return dic
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
print(check(dic))
8.写函数,此函数只接收一个参数这个参数必须是列表数据类型,此函数完成的功能是返回给调用者一个字典,此字典的键值对为列表的索引及对应的元素。例如传入的列表为:[11,22,33] 返回的字典为 {0:11,1:22,2:33}。
def list_dict(lst):
if type(lst) == list:
dic = {}
count = 0
for i in lst:
dic[count] = i
count += 1
else:
dic = "这不是列表"
return dic
lst = [11,22,33]
print(list_dict(lst))
9.写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。用户通过输入这四个内容,然后将这四个内容传入到函数中,此函数接收到这四个内容,将内容追加到一个student_msg文件中。
def func(name,sex,age,xl):
with open("student_msg","a",encoding="UTF-8") as f:
f.write(name+" "+sex+" "+age+" "+xl+"\n")
name = input("请输入姓名:")
sex = input("请输入性别:")
age = input("请输入年龄:")
xl = input("请输入学历:")
func(name,sex,age,xl)
10.对第9题升级:支持用户持续输入,Q或者q退出,性别默认为男,如果遇到女学生,则把性别输入女。
def func(name,age,xl,sex="男"):
with open("student_msg","a",encoding="UTF-8") as f:
f.write(name+" "+sex+" "+age+" "+xl+"\n")
while 1:
name = input("请输入姓名(退出请按q/Q):")
if name.upper() == "Q":
break
sex = input("请输入性别:")
age = input("请输入年龄:")
xl = input("请输入学历:")
if not sex.strip():
func(name,age,xl)
else:
func(name,age,xl,sex)