第1关:递归函数 - 汉诺塔的魅力
本关的编程任务是补全src/step1/recursive.py文件的代码,实现相应的功能。具体要求如下:
- 定义一个函数
fact(n),实现的功能是对输入的正整数n进行n!运算; - 调用函数
fact(n),对输入的正整数n进行阶乘运算,并输出计算结果。
def fact(n):
if n==1:
return 1
return n*fact(n-1)
print(fact(n))
第2关:lambda 函数 - 匿名函数的使用
本关的编程任务是补全src/step2/lambda.py文件的代码,实现相应的功能。具体要求如下:
- 使用
lambda来创建匿名函数,然后判断输入的两个数值的大小,并分别输出较大的值和较小的值。
MAXIMUM = lambda a,b:max(a,b)
MINIMUM = lambda a,b:min(a,b)
第3关:Map-Reduce - 映射与归约的思想
本关的编程任务是补全src/step3/map-reduce.py文件的代码,实现相应的功能。具体要求如下:
- 将输入的一个正整数分解质因数,并将结果输出。例如:输入
90,打印出90=2*3*3*5*。
y = x
result = []
while y > 1:
for i in range(2,y+1):
if y%i==0:
y = y//i
result.append(str(i))
break

本系列博客通过三个编程关卡,引导读者掌握递归函数、lambda表达式以及Map-Reduce思想。第一关涉及阶乘计算,实现n的阶乘;第二关利用lambda创建匿名函数,比较两个数的大小;第三关运用映射和归约,分解并输出正整数的质因数。这些练习旨在提升编程能力,理解基础概念。
814

被折叠的 条评论
为什么被折叠?



