甲鱼练习
1、
1.编写一个符合以下要求的函数:
a)计算打印所有参数的和乘以基数(base=3)的结果
b)如果参数中最后一个参数为(base=5),则设定基数为5,基数不参与求和计算。
'''
def sumf(*params,base=3): result=0 for i in params: result=i+result if base!=3: print(result) else: result=result*base print(result) return (result)
2、寻找水仙花数
题目要求:如果一个3位数等于其各位数宇的立方和,则称这个数为水仙花数。例如153=1^3+53+33,因此153是一个水仙花数。
编写一个程序,找出所有的水仙花数。
'''
1 def shuixian(): 2 for i in range(100,1000): 3 a=i//100 4 b=i//10%10 5 c=i%10 6 7 if i == a**3+b**3+c**3: 8 print(str(i)+'是水仙花数') 9 # return i
3、编写一个函数findstr0,
该函数统计一个长度为2的子宇符串在另一个宇符串中出现的次数。
例如:假定输入的宇符串为"You cannot improve your past,but you can improve your future.Once time is wasted,life is wasted.",
子宇符串为“im”,函数执行后打印“子宇母串在目标宇符串中共出现3次”。
'''
1 def findstr(longstr,shortstr): 2 count=0 3 4 5 if shortstr not in longstr: 6 print(shortstr+'不在字符串'+longstr+'中') 7 else: 8 for i in range(len(longstr)-1): 9 if longstr[i]==shortstr[0] and longstr[i+1]==shortstr[1]: 10 count+=1 11 print(count)
4、匿名函数 lambda arg1 , arg2: arg1+arg2
g=lambda x:2*x+5 print(g(8))
5、打印出0-100之间3的倍数
a=list(filter(lambda n:not(n%3),range(100))) print(a)
6、map函数,求0-100之间每个数的平方
a=list(map(lambda x:x**2,range(100))) print(a)