【例5-5】编写一个函数,功能是计算传入列表的最大值、最小值和平均值,然后调用该函数。
程序如下:
程序运行结果如下:
程序执行过程如图5-18所示。
【分析】
(1)程序中引用了random模块。Python中的random 模块用于生成随机数,它提供了很多函数,其中random.randint(a,b)返回一个随机整数N,N 的取值[a,b]。需要注意的是a和b的取值必须为整数,并且a的值一定要小于b的值。
图5-18 程序执行过程
(2)fun函数里的return返回一个元组类型来间接达到返回多个值。返回的元组可以省略括号,而多个变量可以同时接收一个元组,按位置赋给对应的值,所以,函数返回多值其实就是返回一个元组,这样写起来更方便。
【例5-6】求1! +2! +3! +…+10! 的值。
程序如下:
程序运行结果如下:(www.xing528.com)
分析:这是一个求和的问题,为简化程序,先编写求阶乘的函数fact,然后调用函数,使程序的结构化程度提高。
注:Python自带的math库包含有阶乘函数factorial,使用factorial函数程序修改如下:
【例5-7】按每行10个输出100~200的素数以及个数。
程序如下:
程序运行结果如下:
【分析】
(1)首先编写求素数的函数isprime。判断数值n是否为素数的算法是使用for循环遍历从2到n-1的序列,用这个数n去除这个序列中的每一个值,如果遇到其中有一个数被n整除,也就是判断n%i==0为真,函数体通过return语句返回值为False,否则返回值为True。
(2)主程序使用for循环遍历从100到200的序列,调用isprime函数,如果函数值为True输出这个素数。
(3)程序中通过判断表达式k%10==0为真,输出一个换行,实现每输出10个数据换一行。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。