一段简单的python代码,简单的python程序代码

本文介绍了Python编程的三个基础环节:递归函数以汉诺塔为例,讲解阶乘计算;使用内置模块中的lambda函数进行数值比较;以及Map-Reduce函数的应用,展示如何分解质因数。每个部分都包含编程任务和测试示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好,本文将围绕一段简单的python代码展开说明,简单的python程序代码是一个很多人都想弄明白的事情,想搞清楚python一些简单的代码需要先了解以下几个事情。

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

·任务描述
在Python函数内部,我们可以去调用其他函数。所以如果一个函数在内部调用自身,这个函数我们就称为递归函数python打印皮卡丘代码。本关我们将以汉诺塔的例子来感受递归函数的方法与应用。

·编程要求
本关的编程任务是补全src/step1/recursive.py文件的代码,实现相应的功能。具体要求如下:
定义一个函数fact(n),实现的功能是对输入的正整数n进行n!运算;
调用函数fact(n),对输入的正整数n进行阶乘运算,并输出计算结果。

·测试说明
本关的测试文件是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())

'''定义一个函数fact(n),实现的功能是对输入的正整数n进行n!运算;
调用函数fact(n),对输入的正整数n进行阶乘运算,并输出计算结果。'''

List1=list(range(1,n+1))
s=1
for i in List1:
    s=i*s
print(s)

第2关:内置模块中的内置函数

·任务描述
在Python编程中我们除了可以用def语句来定义函数之外,还可以使用lambda来定义。我们用def语句来定义函数时需要指定函数名字,而使用lambda来定义函数时则不需要。

·编程要求
本关的编程任务是补全src/step2/lambda.py文件的代码,实现相应的功能。具体要求如下:
使用lambda来创建匿名函数,然后判断输入的两个数值的大小,并分别输出较大的值和较小的值。

·测试说明
本关的测试文件是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 x, y: max(x, y)
MINIMUM = lambda x, y: min(x, y)
  
#输入两个正整数
a = int(input())
b = int(input())
 
#输出较大的值和较小的值
print('较大的值是:%d' % MAXIMUM(a, b))
print('较小的值是:%d' % MINIMUM(a, b))

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

·任务描述
Python中有两个非常常见的内置函数:map()和reduce()函数。这两个函数都是应用于序列的处理函数,map()用于映射,reduce()用于归并。

·编程要求
本关的编程任务是补全src/step3/map-reduce.py文件的代码,实现相应的功能。具体要求如下:
将输入的一个正整数分解质因数,并将结果输出。例如:输入90,打印出90=2 × 3 × 3 × 5。

·测试说明
本关的测试文件是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())

# 将输入的一个正整数分解质因数
def isPrime(n):
    flag = True
    for i in range(2,n):
        if n % i == 0:
            flag = False
        else:
            flag = True
    return flag

def PrimeFator(n):
    ls = []
    while n != 1:
        for i in range(2,n+1):
            if isPrime(i) and n % i == 0:
                ls.append(i)
                n = int(n/i)
                break
    return ls
result = PrimeFator(x)

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

······通关成功······
如有问题,敬请斧正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值