Python代码练习(三):函数

Python代码练习(三):函数

七月在线课程的练习题

  • 习题1
    定义一个函数,接收任意3个数字的输入,并按 顺序从小到大输出
def BubbleSort(a):
    # 每次冒泡,将最大的元素冒到最后面
    # 第一次是前n个元素,最大的元素冒到最后
    # 第二次是前n-1个元素,最大的元素冒到倒数第二个位置
    # ... ...
    for i in range(len(a)-1):
        for j in range(0,len(a)-i-1):
            if a[j]>a[j+1]:
                a[j],a[j+1] = a[j+1],a[j]
    return a

l=[9,1,4]
BubbleSort(l)
  • 习题2
    要求创建一个函数,它可以接收,位置参数, 不定长位置参数,不定长关键词参数,并按 要求输出 。
    输入班级名,班级特色(如’勤奋’,’颜值 高’ )等等不同特色,班级不同同学的姓 名与年龄。
    要求输出,班级名,班级特色,班级成员, 班级成员的平均年龄。
def scoreReport(name,*args,**kwargs):
    print('班级名:',name)
    print('班级特色:\n')
    for item in args:
        print(item)
    print('同学姓名:\n')
    for key,value in kwargs.items():
        print (key,value)
        
scoreReport('5班','勤奋','颜值高',LYX=20,WZX=21)
  • 习题3
    使用reduce函数实现找出一组数字列表中的 最大值
from functools import reduce
reduce(lambda a,b:min(a,b),[4,5,600,7,8])

  • 习题4
    求1000以内能同时被3和7整除的数有哪些。
    要求使用map与filter函数
list(filter(lambda x:True if x%3==0 and x%7==0 else False,range(1,1000)))    
  • 习题5
    体现闭包的思想,创建一个三层嵌套的函数, 并调用。

  • 习题6
    请以round函数,定义一个偏函数roundN,调用
    为输入一个数字N,返回圆周率后N位的数字
    提示:
    import math
    math.pi
    请以sorted函数,定义一个偏函数sortedDESC, 结果为输入一个序列,返回为按降序排列后序列。

  • 习题7
    要求使用map与filter函数,输出一个输入字 符串里每个字符出现的次数
    提示:结合dict使用实现

def Num(str):
    d1={}
    for i in range(len(str)-1):
        c=1
        for j in range(i+1,len(str)):
            if str[i]==str[j]:
                 c=c+1
        d1[str[i]]=c
    return d1    
      
Num("absa")
  • 习题8
    创建一个能够快递排序的递归函数

  • 习题9
    创建一个能打印一个字典中包含所有字典对象的递归函数
    dic={ “北京”: {
    “东城”: [“天坛”, “东单”, “王府井”],
    “西城”: [“西单”, “军博”, “复兴门”], },
    “上海”: { “杨浦”:[‘五角场’,‘政通路’,'世界路’]
    }, “天津”:[‘天津港’]}

  • 习题10
    编写一个生成器,实现fib数列的效果

  • 习题11
    创建一个能接收不定长位置参数(数字)函 数,返回是所有参数的和。
    现要求在这个函数每次调用时都有进行屏幕 打印(该函数被调用)。
    请在不改动这个函数内部及调用的前提下实 现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Laura_Wangzx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值