模块二总结

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)

 

posted @ 2018-06-06 23:42  我要去流浪  阅读(242)  评论(0编辑  收藏  举报