Linux 与 Python编程2021 经典函数实例 educoder实训

第1关:递归函数 - 汉诺塔的魅力

编程要求

本关的编程任务是补全src/step1/recursive.py文件的代码,实现相应的功能。具体要求如下:

定义一个函数fact(n),实现的功能是对输入的正整数n进行n!运算;
调用函数fact(n),对输入的正整数n进行阶乘运算,并输出计算结果。
本关涉及的代码文件src/step1/recursive.py的代码框架如下:
coding=utf-8
输入正整数n
n = int(input())
请在此添加代码,对输入的正整数n进行阶乘运算,并输出计算结果。
########## Begin ##########
########## End ##########

测试说明

本关的测试文件是src/step1/recursive.py,测试过程如下:

平台自动编译生成recursive.exe;
平台运行recursive.exe,并以标准输入方式提供测试输入;
平台获取recursive.exe输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对src/step1/recursive.py的样例测试集:

测试输入:

5
预期输出:
120

测试输入:

6
预期输出:

720
测试输入:

7
预期输出:

5040
测试输入:

8
预期输出:

40320
开始你的任务吧,祝你成功!

代码

# coding=utf-8

# 输入正整数n
n = int(input())

# 请在此添加代码,对输入的正整数n进行阶乘运算,并输出计算结果。
########## Begin ##########
def fact(n):
    if n == 1:
        return 1
    result = n * fact(n - 1)
    return result
 
 
print(fact(n))
########## End ##########


第2关:lambda 函数 - 匿名函数的使用

编程要求
本关的编程任务是补全src/step2/lambda.py文件的代码,实现相应的功能。具体要求如下:

使用lambda来创建匿名函数,然后判断输入的两个数值的大小,并分别输出较大的值和较小的值。
本关涉及的代码文件src/step2/lambda.py的代码框架如下:

coding=utf-8
请在此添加代码,使用lambda来创建匿名函数,能够判断输入的两个数值的大小,
########## Begin ##########
########## End ##########
输入两个正整数
a = int(input())
b = int(input())
输出较大的值和较小的值
print(‘较大的值是:%d’ % MAXIMUM(a,b))
print(‘较小的值是:%d’ % MINIMUM(a,b))
测试说明
本关的测试文件是src/step2/lambda.py,测试过程如下:

平台自动编译生成lambda.exe;
平台运行lambda.exe,并以标准输入方式提供测试输入;
平台获取lambda.exe输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对src/step2/lambda.py的样例测试集:

测试输入:

5
12
预期输出:

较大的值是:12
较小的值是:5
测试输入:

7
3
预期输出:

较大的值是:7
较小的值是:3
测试输入:

120
89
预期输出:

较大的值是:120
较小的值是:89
测试输入:

13
110
预期输出:

较大的值是:110
较小的值是:13
开始你的任务吧,祝你成功!

代码

# coding=utf-8

# 请在此添加代码,使用lambda来创建匿名函数,能够判断输入的两个数值的大小
########## Begin ##########
MAXIMUM = lambda a,b:max(a,b)
MINIMUM = lambda a,b:min(a,b)
########## End ##########

# 输入两个正整数
a = int(input())
b = int(input())

# 输出较大的值和较小的值
print('较大的值是:%d' % MAXIMUM(a,b))
print('较小的值是:%d' % MINIMUM(a,b))

第3关:Map-Reduce - 映射与归约的思想

编程要求

本关的编程任务是补全src/step3/map-reduce.py文件的代码,实现相应的功能。具体要求如下:

将输入的一个正整数分解质因数,并将结果输出。例如:输入90,打印出90=2335
本关涉及的代码文件src/step3/map-reduce.py的代码框架如下:

#coding=utf-8
#输入一个正整数
x = int(input())
#请在此添加代码,将输入的一个正整数分解质因数
########## Begin ##########
########## End ##########
#输出结果,利用map()函数将结果按照规定格式输出
print(x,’=’,’*’.join(map(str,result)))

测试说明

本关的测试文件是src/step3/map-reduce.py,测试过程如下:

平台自动编译生成map-reduce.exe;
平台运行map-reduce.exe,并以标准输入方式提供测试输入;
平台获取map-reduce.exe输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对src/step3/map-reduce.py的样例测试集:

测试输入:

80
预期输出:

80 = 22225
测试输入:

79
预期输出:

79 = 79
测试输入:

225
预期输出:

225 = 335*5
测试输入:

123456
预期输出:

123456 = 2222223*643
开始你的任务吧,祝你成功!

代码

# coding=utf-8

# 输入一个正整数
x = int(input())

# 请在此添加代码,将输入的一个正整数分解质因数
########## Begin ##########
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
########## End ##########

# 输出结果,利用map()函数将结果按照规定字符串格式输出
print(x,'=','*'.join(map(str,result)))

educoder Linux 与 Python编程2021 答案

猜你喜欢

转载自blog.csdn.net/u014708644/article/details/121231270
今日推荐