经典函数实例

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

1
2
3
4
5
6
7
8
9
10
11
12
# coding=utf-8
# 输入正整数n
n = int(input())
# 请在此添加代码,对输入的正整数n进行阶乘运算,并输出计算结果。
########## Begin ##########
def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n - 1)
print(factorial(n))

########## End ##########

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# coding=utf-8



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

# 输入两个正整数
a = int(input())
b = int(input())
# 输出较大的值和较小的值
print('较大的值是:%d' % MAXIMUM(a, b))
print('较小的值是:%d' % MINIMUM(a, b))

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# coding=utf-8
# 输入一个正整数
x = int(input())
# 请在此添加代码,将输入的一个正整数分解质因数
########## Begin ##########
def prime_factors(n):
    result = []
    for i in range(2, n + 1):
        while n % i == 0:
            result.append(i)
            n = n // i
    return result
result = prime_factors(x)

########## End ##########

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

函数调用

第1关 内置函数 - 让你偷懒的工具

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# coding=utf-8
# 输入一个整数n
n =  int(input())
# 请在此添加代码,对输入的整数进行判断,如果是素数则输出为True,不是素数则输出为False
########## Begin ##########
def prime(n):
    if n < 2:
        return False
    for i in range(2, n):
        if n % i == 0:
            return False
    return True
########## End ##########
print(prime(n))

第2关 函数正确调用 - 得到想要的结果

1
2
3
4
5
6
7
8
9
10
# coding=utf-8
# 输入数字字符串,并转换为数值列表
a = input()
num1 = eval(a)
numbers = list(num1)
# 请在此添加代码,对数值列表numbers实现从小到大排序
########## Begin ##########
numbers.sort()
print(numbers)
########## End ##########

第3关 函数与函数调用 - 分清主次

1
2
3
4
5
6
7
8
9
# coding=utf-8
from math import pi as PI
n = int(input())
# 请在此添加代码,实现圆的面积计算,并输出面积结果
########## Begin ##########
def area(n):
    return PI * n * n
print("%.2f"%area(n))
########## End ##########