PT--传参 99乘法表
99乘法表
1 # 2.写函数,接收n个数字,求这些参数数字的和。(动态传参) 2 def func(*args): 3 sum = 0 4 for i in args: 5 sum += i 6 return sum 7 li=[1,3,4,5,6,34,78,65] 8 print(func(*li)) 9 10 11 #方法二 12 def fun(*args): 13 return sum(args) #内置函数 14 #sum()中跟的是可迭代对象 15 16 17 # 5,写函数,传入函数中多个实参(均为可迭代对象如字符串,列表,元祖,集合等), 18 # 将每个实参的每个元素依次添加到函数的动态参数args里面. 19 # 例如 传入函数两个参数[1,2,3] (22,33)最终args为(1,2,3,22,33) 20 21 def fun1(*args): 22 print(args) 23 lis=[1,2,3] 24 tu=(22,33) 25 fun(*lis,*tu) 26 27 28 29 ''' 30 6,写函数,传入函数中多个实参(实参均为字典),将每个实参的键值对 31 依次添加到函数的动态参数kwargs里面. 32 例如 传入函数两个参数{‘name’:’alex’} {‘age’:1000} 33 最终kwargs为{‘name’:’alex’ ,‘age’:1000} 34 ''' 35 def fun(**kwargs): 36 print(kwargs) 37 dic1={'name':'alex'} 38 dic2={'age':1000} 39 fun(**dic1,**dic2) 40 41 42 ''' 43 9,写函数,接收一个参数(此参数类型必须是可迭代对象), 44 将可迭代对象的每个元素以’_’相连接,形成新的字符串,并返回. 45 例如:传入的可迭代对象为[1,'老男孩','武sir']返回的结果为’1_老男孩_武sir’ 46 ''' 47 def fun(lis): 48 for i in range(len(lis)): 49 if type(lis[i])==int: #判断类型的时候用type 50 lis[i]=str(lis[i]) 51 s='_'.join(lis) 52 return s 53 li=[1,'老男孩','wusir'] 54 print(fun(li)) 55 56 57 ''' 58 10,写函数,传入n个数,返回字典{‘max’:最大值,’min’:最小值} 59 例如:min_max(2,5,7,8,4) 返回:{‘max’:8,’min’:2} 60 (此题用到max(),min()内置函数) 61 ''' 62 def fun(*args): 63 ma=max(args) 64 mi=min(args) 65 dic={} 66 dic['max']=ma 67 dic['min']=mi 68 return dic 69 tu=(2,5,7,8,4) 70 print(fun(*tu)) 71 72 73 ''' 74 11,写函数,传入一个参数n,返回n的阶乘 75 例如:cal(7) 计算7*6*5*4*3*2*1 76 ''' 77 def cal(n): 78 j=1 79 for i in range(n,0,-1): 80 j *= i 81 return j 82 print(cal(7)) 83 84 85 ''' 86 12.写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组 87 例如:[(‘红心’,2),(‘草花’,2), …(‘黑桃’,‘A’)] 88 ''' 89 def fn(lis,li): 90 ls=[] 91 def func(*args): #用于返回元组 92 return args 93 for el in lis: 94 for i in li: #两次循环遍历出元组的信息进行组合 95 m=func(el,i) 96 ls.append(m) #获取的元组添加到列表 97 return ls 98 lis1 = ['红心', '草花', '黑桃', '方片'] 99 lis2= ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A'] 100 print(fn(lis1,lis2)) 101 102 103 ''' 104 13.有如下函数: 105 def wrapper(): 106 def inner(): 107 print(666) 108 wrapper() 109 你可以任意添加代码,用两种或以上的方法,执行inner函数. 110 ''' 111 112 #方法一: 113 def wrapper(): 114 def inner(): 115 print(666) 116 inner() 117 wrapper() 118 #方法二: 119 def wrapper(): 120 def inner(): 121 print(666) 122 return inner #返回函数名 123 ret=wrapper() 124 print(ret) 125 126 127 # 14. 128 129 def extendList(val,list=[]): #默认值 是可变的时候,多次调用,它的内存地址是一样的 130 list.append(val) 131 return list 132 list1 = extendList(10) 133 list2 = extendList(123,[]) 134 list3 = extendList('a') 135 136 print('list1=%s'%list1) 137 print('list2=%s'%list2) 138 print('list3=%s'%list3) 139 # 结果: [10,'a'] [123] [10,'a'] 140 141 142 143 # 15. 代码完成99乘法表.(升级题) 144 145 def func(li): 146 for i in li: 147 for j in range(1,i+1): 148 ji=i*j 149 print('%s * %s = %s'%(i,j,ji) ,end='') 150 print('\t') 151 li=[1,2,3,4,5,6,7,8,9] 152 func(li)