甲鱼练习

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)
原文地址:https://www.cnblogs.com/forhowcar/p/13931354.html