Python-高阶函数练习题

高阶函数练习题

1、利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。

输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart']

def fun(f):

    print(f)

    return f.capitalize()

r=map(fun,['adam', 'LISA', 'barT'])

print(list(r)

运行结果为:

['Adam', 'Lisa', 'Bart']

2利用map、reduce高阶函数,计算字符串"938512",每一位的和

from functools import reduce

def fun(x,y):

    return x+y

def inner(a):

    return int(a)

r=reduce(fun,map(inner,"938512"))

print(r)

运行结果为:28

3、请利用filter()筛选出一百以内的奇数,素数:

##奇数

def f(n):

    return n%2 !=0

li=range(1,101)

r=filter(f,li)

print(list(r))

运行结果:

[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]

##素数

def f(a): 

    for i in range(2,a):

        if a % i == 0:

            break

    else:

        return True

li=range(1,100)

r=filter(f,li)

print(list(r))

运行结果为:

[1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

你可能感兴趣的:(Python-高阶函数练习题)