函数

1.对于一个十进制的正整数, 定义f(n)为其各位数字的平方和,如:
f(13)  = 1**2 + 3**2 = 10
f(207) = 2**2 + 0**2 + 7**2 = 53

2.定义一个函数,返回传入字符串中的【数字】、【字母】和【其他字符】的个数
a = '12f*wc%e8e^$'

3.定义一个函数,返回一个扑克牌列表,里面有52项,每一项是一个元组
结果为
[
    ('红心', 2), 
    ('红心', 3), 
    ...
    ('红心', 'A'),

    ('方块', 2), 
    ('方块', 3), 
    ...
    ('方块', 'A'),

    ('黑桃', 2), 
    ('黑桃', 3), 
    ...
    ('黑桃', 'A'),

    ('梅花', 2), 
    ('梅花', 3), 
    ...
    ('梅花', 'A'),
]

4.定义一个函数 f(n),传入一个参数n,返回n的阶乘
例如 f(5) => 1*2*3*4*5   f(8) => 1*2*3*4*5*6*7*8

5. 列表 li = ['alex', 'egon', 'smith', 'pizza', 'alen'], 用 lambda表达式 以列表中每个元素的
第二个字母倒序排序;提示(用列表的 sort 方法)

6、用递归函数找出最顶级的地区名
a = [

    {'id':1, 'name':'广东省', 'pid':0},
    {'id':2, 'name':'湖北省', 'pid':0},
    {'id':3, 'name':'湖南省', 'pid':0},
    {'id':4, 'name':'广州市', 'pid':1},
    {'id':5, 'name':'深圳市', 'pid':1},
    {'id':6, 'name':'武汉市', 'pid':2},
    {'id':7, 'name':'襄阳市', 'pid':2},
    {'id':8, 'name':'长沙市', 'pid':3},
    {'id':10, 'name':'天河区', 'pid':4},
    {'id':11, 'name':'罗湖区', 'pid':5},
    {'id':12, 'name':'武昌区', 'pid':6},
    {'id':13, 'name':'樊城区', 'pid':7},
    {'id':14, 'name':'芙蓉区', 'pid':8},

]

7、利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来
比如键盘依次输入5,敲回车,4,敲回车,3,敲回车,2,敲回车,1。回车后输出12345

-----------------答案-------------------

def f(num):
    sum = 0
    for i in str(num):
        sum += int(i)**2
    return sum
print(f(13))

二
a = '12f*wc%e8e^$'
def run(a):
    s = 0
    z = 0
    q = 0
    for i in a:
        if i.isdigit() :
            s+=1
        elif i.isalpha():
            z+=1
        else:
            q+=1
    return s,z,q
s,z,q = run(a)
print(s,z,q)

三
suit = ['红心','方块', '黑桃', '梅花']
list1 = list(range(2,11))
list2 = ['J', 'Q', 'K', 'A']
list1.extend(list2)
new_list = [(x,y) for x in suit for y in list1]
print(new_list)

四
def f(num):
    if num == 1:
        return 1
    else:
        return num * f(num - 1)
print(f(5))

#1*2*3*4*5
list = []
def f(num):

    for i in range(1,num+1):
        list.append(str(i))
    return list
print(f(5))
print('*'.join(list))

五
li = ['alex', 'egon', 'smith', 'pizza', 'alen']
li.sort(key=lambda x:x[1], reverse = True)
print(li)

 

posted @ 2018-12-26 22:35  菜鸟SSS  阅读(523)  评论(0编辑  收藏  举报