python基础 lesson3 作业提交

定义一个函数,接受任意三个数字的输入,并按顺序从小到大输出

def box(a,b,c):
   if a>b:
     a,b = b,a
   if a>c:
     a,c = c,a
   if b>c:
     b,c = c,b

   return a,b,c

box(1,2,1)

要求创建一个函数,它可以接收位置参数,不定长位置参数,不定长关键词参数,并按要求输出

def hello(x,*args,**kwds):
    print(x)
    for item in args:
        print(item)
    for k,v in kwds.items():
        print(k,':',v)
l1 = ['勤奋','颜值高']
l2 = {'张三':1,'李四':3,'王五':2} 
hello('五年三班',*l1,**l2)

使用reduce函数实现找出一组数字列表中的最大值

from functools import reduce
l = [1,2,3,4,6,234,3456,234,6532465,13515]
reduce(max,l)

求1000以内能同时被3和7整除的数有哪些:用map 于filter

def f(n):
    if n%3==0 and n%7==0:
        return True
    else:
        return False
list(filter(f,range(0,1001)))

def m(n):
    if n%3==0 and n%7==0:
        return n
    else:
        pass
list(map(m,range(0,1001)))

体现闭包的思想,创建一个三层嵌套的函数并调用

def s(n):
    if n<10:
        return 1
    else:
        return n+s(n-1)
s(20)

请以round函数,定义一个偏函数roundN,调用为输入一个数字N,返回元周率后N位的数字

import math
def roundn():
    s=input('位数:n=')
    n=int(s)
    return round(math.pi,n)

roundn()

def sortedDESC(n):
    last = sorted(n)
    new = reversed(last)
    print(list(new))
sortedDESC([1,2,4,6,9,2,4,6])

要求使用map与filter函数,输出一个输入字符串里每个字符出现的次数

l = {}
str = 'asggdgyweroigeag'
def mymap(str):
    if str not in l.keys():
        l[str]=1
    else:
        l[str]+=1
    return str
list(map(mymap,str))

print(l)

def myfilter(str):
    if str not in l.keys():
        l[str]=1
    else:
        l[str]+=1
    return True
list(map(myfilter,str))

print(l)

怎么写成lambda形式?????????

map(lambda l:l[str]=1 if str not in l.keys() else l[str]=l[str]+1,str)
print(l)

创建一个能快速排序的递归函数

不会 网上看别人写的 好像也不太对,不知道哪里不对 怎么能不循环括号

def sort(args):
    for i in range(len(args)):
        if i==len(args)-1:
            return args[0],sort(args[1:])
        elif args[0]<args[i+1]:
            args[0],args[i+1]=args[i+1],args[0]
args = [1,3,5,2,4,8,9]  
aa = sort(args)
print(aa)

创建一个能打印一个字典中包含所有字典对象的递归函数

def all(dic):
    for key,value in dic.items():
        if type(value)==dict:
            print(key)
            all(value)
        else:
            print(key)
            print(value)
dic = {
    '北京':{"东城":['天坛','东单','王府井'],"西城":['西单','军博、','复兴门']},
    '上海':{"洋浦":['五角场','东方名足','浦江']},
    '天津':{"天津港"},
}
all(dic)

编写一个生成器实现fib数列的效果

l = []

def fab(max): 
    n,a,b = 0,0,1
    while n < max:
        yield(b)
        a,b = b,a+b
        n += 1
for n in fab(5):
    print( n)

作业1 创建一个能接受不定长位置参数(数字)函数,返回是所有参数的和

现在在要求在这个函数每次调用时都有进行屏幕打印????????????????????????????

请在不改动这个函数内部及调用的前提下实现????????????????????????????

l = []

def long(a,*args,**kwds):
    for k,v in kwds.items():
        l.append(v)
    return a+sum(args)+sum(l)
 
    
x = [1,2]
y = {'ss':5,'dd':6,'ee':7}
print(long(int(1),*x,**y))
已邀请:

qq用户321660

赞同来自:


体现闭包的思想,创建一个三层嵌套的函数并调用 #这题做得不对。再看下视频
偏函数也没实现对。。要调库

要回复问题请先登录注册

返回顶部