模块二总结
1,写函数,计算传入数字参数的和。(动态传参)
x = int(input("请输入一个数:"))
y = int(input("请输入一个数:"))
def calc(x, y):
sum1 = x + y
return sum1
res = calc(x, y)
print(res)
2,写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作
import os
file_name = "print_file.txt"
file_new_name = '%s.new' % file_name
old_str = '最近学习不太好'
new_str = '最近学习真不好'
f_old = open(file_name, 'r', encoding='utf-8')
f_new = open(file_new_name, 'w', encoding='utf-8')
for line in f_old:
if old_str in line:
line = line.replace(old_str, new_str)
f_new.write(line)
print(line)
f_old.close()
f_new.close()
os.replace(file_new_name, file_name)
3,写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。
def func(str1, list1, tuple1):
if str1.isspace():
print("字符串有空内容")
else:
print("字符串里面没有空内容")
if len(list1) == 0:
print("列表有空内容")
else:
print("列表里面没有空内容")
if len(tuple1) == 0:
print("元祖有空内容")
else:
print("元组里面没有空内容")
return func
res = func('123456', [], ())
4.写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11, 22, 33, 44]}
def check_func(info):
li = []
for item in info.values():
length = len(item)
if length > 2:
li.append(item[0:2])
else:
continue
return li
info = check_func(dic)
print(info)
5.写函数,计算传入字符串中的【数字】、【字母】、【空格】和【其他】的个数
def func(args):
digit_number = 0
space_number = 0
alpha_number = 0
else_number = 0
for i in args:
if i.isdigit():
digit_number +=1
elif i.isspace():
space_number += 1
elif i.isalpha():
alpha_number += 1
else:
else_number += 1
return ("数字,空格,字母,其他内容分别有:",
(digit_number,
space_number,
alpha_number,
else_number))
res = func("asdas da #$%^67sas dad as")
print(res)
6.写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组
例如:[(‘红心’,2),(‘草花’,2), …(‘黑桃A’)]
def cards():
get_number = []
for i in range(2, 11):
get_number.append(i)
get_number.extend(['J', 'Q', 'K', 'A'])
type = ['红心', '草花', '方块', '黑桃']
result = []
for i in get_number:
for j in type:
result.append((j, i))
return result
print(cards())
7.写函数,传入n个数,返回字典{‘max’:最大值,’min’:最小值}
def max_number(*args):
the_max = max(args)
the_min = min(args)
return {'max': the_max, 'min': the_min}
res = max_number(2, 5, 7, 8, 4)
print(res)
8.写函数,专门计算图形的面积
- 其中嵌套函数,计算圆的面积,正方形的面积和长方形的面积
- 调用函数area(‘圆形’,圆半径) 返回圆的面积
- 调用函数area(‘正方形’,边长) 返回正方形的面积
- 调用函数area(‘长方形’,长,宽) 返回长方形的面积
def area(name,*args):
def areas_rectangle(x,y):
return ("长方形的面积为:",x*y)
def area_square(x):
return ("正方形的面积为:",x**2)
def area_round(r):
return ("圆形的面积为:",math.pi*r*r)
if name =='圆形':
return area_round(*args)
elif name =='正方形':
return area_square(*args)
elif name =='长方形':
return areas_rectangle(*args)
print(area('长方形', 3, 4))
print(area('圆形', 3))
print(area('正方形', 3))
9.写函数,传入一个参数n,返回n的阶乘
1 def calc(n): 2 if n == 1: 3 return 1 4 return n * calc(n-1) 5 6 7 calc(5)