第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