在前面我们刚学习了函数的有关知识,本期博客我们就来趁热打铁,开始有关函数定义与调用相关练习,后续还有一个有关函数的实验练习。
注意:代码仅供参考,还请大家多多思考!
【填空7-1】以下程序可以对键盘输入的数进行判断,如果是质数显示True,不是质数显示False,请在代码中横线处补充。
其中math.floor()方法作用是将数字x向下舍入到最接近的整数。
math.sqrt()方法作用是返回数字x的平方根。
import math def isPrime(num): try: if type(num) == type(0.): raise TypeError r = int(math.floor(math.sqrt(num))) except TypeError: print('不是一个有效整数') return None # 如果不是有效的整数,返回None if num == 1: return False # 1不是整数,返回False for i in range(2, r + 1): if num % i == 0: # 判断一个数是否能被某数整除 return False return True def main(): x = eval(input("请输入:")) print(isPrime(x)) main()'运行
它运行的结果是:
请输入:5
True
【填空7-2】编写程序,根据给定的折扣率,计算打折后的实际应付金额。请在代码中横线处补充。
def fun(discount): global price price = price * discount price = eval(input("请输入打折前的金额:")) # price是全局变量 fun(0.8) print("打折后的金额:", price)'运行
它运行的结果是:
请输入打折前的金额:100
打折后的金额: 80.0
【编程7-1】排序算法
排序算法是一类经典算法,包括了多种不同的排序方法,冒泡排序法是最基本的一种。编写函数实现冒泡排序算法,主程序提供初始数据、调用排序函数、输出排序后数据。
def bubble_sort(array): for i in range(1, len(array)): for j in range(0, len(array) - i): if array[j] > array[j + 1]: array[j], array[j + 1] = array[j + 1], array[j] return array if __name__ == '__main__': array = [10, 17, 50, 7, 30, 24, 27, 45, 15, 5, 36, 21] print(bubble_sort(array))'运行
它运行的结果是:
[5, 7, 10, 15, 17, 21, 24, 27, 30, 36, 45, 50]'运行
有关函数定义与调用实验就到这里结束了,内容比较少,下一个实验就是函数的递归实验,后面我也会及时更新的,本期实验最后的冒泡排序实现过程需要重点看看,是常考点也是经常会用到的排序算法之一。
Python函数的运用很重要,大家还可以去刷一下其他的题目来继续巩固一下基础知识。