Python入门之函数调用
第1关:内置函数 - 让你偷懒的工具第2关:函数正确调用 - 得到想要的结果第3关:函数与函数调用 - 分清主次第1关:内置函数 - 让你偷懒的工具
·任务描述
我们在编程过程中会用到很多函数,但我们不需要每个函数都需要自己去编写,因为Python内置了很多十分有用的函数,我们在编程过程中可以直接调用。
·编程要求
本关的编程任务是补全src/Step2/prime.py文件的代码,实现相应的功能。具体要求如下:
定义一个函数,功能是判断一个数是否为素数;
调用函数,对输入的整数进行判断,如果是素数则输出为True,不是素数则输出为False。
·测试说明
本关的测试文件是src/Step2/prime.py,测试过程如下:
平台自动编译生成prime.exe;
平台运行prime.exe,并以标准输入方式提供测试输入;
平台获取prime.exe输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对src/Step2/prime.py的样例测试集:
测试输入:
1
预期输出:
False
测试输入:
3
预期输出:
True
测试输入:
9
预期输出:
False
测试输入:
4
预期输出:
False
测试输入:
17
预期输出:
True
#coding=utf-8# 输入一个整数nn = int(input())# 对输入的整数进行判断,如果是素数则输出为True,不是素数则输出为Falsedef prime(n):if n==1:return Falsefor i in range(2,n):if n % i == 0:return Falseif n==i+1:return Trueprint(prime(n))
第2关:函数正确调用 - 得到想要的结果
·任务描述
函数被定义后,本身肯定不会自动执行的,只有在被调用后,函数才会被执行,得到相应的结果。
·编程要求
本关的编程任务是补全src/Step2/func_call.py文件的代码,实现相应的功能。具体要求如下:
定义一个函数,实现对输入的数值列表进行从小到大的顺序排序;
输出排序后的数值列表。
·测试说明
本关的测试文件是src/Step2/func_call.py,测试过程如下:
平台自动编译生成func_call.exe;
平台运行func_call.exe,并以标准输入方式提供测试输入;
平台获取func_call.exe输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对src/Step2/func_call.py的样例测试集:
测试输入:
103,47,21,34,11,2,5,88,13
预期输出:
[2, 5, 11, 13, 21, 34, 47, 88, 103]
测试输入:
12,31,0,23,25,109,77,3
预期输出:
[0, 3, 12, 23, 25, 31, 77, 109]
测试输入:
6,4,11,34,12,1,4
预期输出:
[1, 4, 4, 6, 11, 12, 34]
测试输入:
5,4,3,2,1
预期输出:
[1, 2, 3, 4, 5]
# coding=utf-8# 输入数字字符串,并转换为数值列表a = input()num1 = eval(a)numbers = list(num1)# 对数值列表numbers实现从小到大排序numbers.sort()print(numbers)
第3关:函数与函数调用 - 分清主次
·任务描述
我们一般将字符串、列表等变量作为参数进行函数调用。但函数本身也是一个对象,所以我们也可以将函数作为参数传入另外一个函数中并进行调用。
·编程要求
本关的编程任务是补全src/step3/func_ref.py文件的代码,实现相应的功能。具体要求如下:
定义一个函数,要求实现圆的面积计算;
根据输入的不同整数值的半径,调用函数计算,输出圆的面积。
·测试说明
本关的测试文件是src/step3/func_ref.py,测试过程如下:
平台自动编译生成func_ref.exe;
平台运行func_ref.exe,并以标准输入方式提供测试输入;
平台获取func_ref.exe输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对src/step3/func_ref.py的样例测试集:
测试输入:
4
预期输出:
50.27
测试输入:
5
预期输出:
78.54
测试输入:
6
预期输出:
113.1
测试输入:
111
预期输出:
38707.56
# coding=utf-8from math import pi as PIn = int(input())# 实现圆的面积计算,并输出面积结果def area(n):area = PI * pow(n, 2)return round(area, 2)print(area(n))
······通关成功······
如有问题,敬请斧正。