学习python的第是一天————函数进阶的作业

2,写函数,接收n个数字,求这些参数数字的和。(动态传参)

def func(*args):

 

 return sum(args)

 

5,写函数,传入函数中多个实参(均为可迭代对象如字符串,列表,元祖,集合等),将每个实参的每个元素依次添加到函数的动态参数args里面.

例如 传入函数两个参数[1,2,3] (22,33)最终args为(1,2,3,22,33)

 def fn(*args):

     print(args)
fn(*[],*())

6,写函数,传入函数中多个实参(实参均为字典),将每个实参的键值对依次添加到函数的动态参数kwargs里面.

 def fn(**kwargs):

     print(kwargs)
 fn(**{})
 

8,写函数,接收两个数字参数,将较小的数字返回.

def fn(a,b)

c=a if a<b or b

return c

 

9,写函数,传入n个数,返回字典{‘max’:最大值,’min’:最小值}

例如:min_max(2,5,7,8,4) 返回:{‘max’:8,’min’:2}(此题用到max(),min()内置函数)

def func(*args):
    print(max(args))

    print(min(args))
    return {"最大值":max(args), "最小值":min(args)}

 func(1,9,5,1,2,3,6,9,4,7,8,12)

 

0,写函数,传入一个参数n,返回n的阶乘

例如:cal(7)  计算7*6*5*4*3*2*1

def func(n):
     sum = 1

    for i in range(1, n+1):
        sum *= i
     return sum
print(func(999))

 

11写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组

例如:[(‘红心’,2),(‘草花’,2), …(‘黑桃’,‘A’)]

 

# se = ["红桃", "黑桃", "梅花", "方块"]
# dian = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
# lst = []
# for s in se:
#     for d in dian:
#         lst.append((s, d))
#
# print(lst)
# print(len(lst))

 

12 有如下函数:

def wrapper():
           def inner():
               print(666)
    wrapper()

 

你可以任意添加代码,用两种或以上的方法,执行inner函数.

 # def wrapper():
#     def inner():
#         print(666)
#
#     def haha():
#         inner()
#     haha()
#
# wrapper()

'''
1x1=1
2x1=2 2x2=4
3x1=3 3x2=6 3x3=9
....
9x1=9 ....9x9=81
'''
# for i in range(1,10):
#     for j in range(1, i+1):
#         print("%sx%s=%s" % (i, j, i*j), end=" ")
#     print()
 
 
 
# for  i in range(1, 6):
#     for j in range(i):
#         print("*", end="")
#     print()

'''
*
**
***
****
*****
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 
 
 
 
 

 

 

 

posted @ 2018-10-31 15:31  DanielYang11  阅读(217)  评论(0)    收藏  举报