zoukankan      html  css  js  c++  java
  • 函数

    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)
  • 相关阅读:
    Linux的kobject机制
    利用内核模块添加系统调用
    register_sysctl_table实现内核数据交互
    设计模式17---享元模式
    设计模式16---中介者模式
    java实现PV操作
    设计模式15---桥接模式
    设计模式15---迭代器模式
    设计模式14---组合模式
    设计模式13---备忘录模式
  • 原文地址:https://www.cnblogs.com/renshaoqi/p/10182301.html
Copyright © 2011-2022 走看看