第三次Python程序设计课程作业

编程入门 行业动态 更新时间:2024-10-06 18:29:43

第三次Python程序设计课程<a href=https://www.elefans.com/category/jswz/34/1771149.html style=作业"/>

第三次Python程序设计课程作业

代码仅供参考、学习、交流,请勿直接复制与提交,后果自负,转发请不要删去作者信息。

1、计算球的体积。编写一个计算球的体积的函数,调用该函数,计算 10-99 之 间所有为 3 的倍数的数作为半径的球的体积和。

#Auther: 叶绿体
#Time: 2021/04/27
#调用math.pi用作后续计算
import math
#规定形参为整数型
def VofBall(r:int):#直接返回(4/3)*pi*r^3return (4.0/3.0)*math.pi*(r**3);if __name__ == "__main__":#i在10-99区间内循环for i in range(10,99):#判断i是否是3的倍数if i%3 == 0:#判断为真,代入函数计算并输出返回值print(VofBall(i))

2、编写函数,计算两个数字的最大公约数,要求该函数具有两个形式参数(形 参),实际参数(实参)通过 input 函数从键盘输入。

#Auther: 叶绿体
#Time: 2021/04/27
#规定两个形参为整数
def MaxCD(x:int, y:int):#利用辗转相减法求解最大公约数r = 1while(r>=0):if x > y:r = x - yx = relif x < y:r = y - xy = relif x == y:return xif __name__ == "__main__":x = int(input())y = int(input())print(MaxCD(x, y))

3、编写函数,输出如下图所示的图形:

#Auther: 叶绿体
#Time: 2021/04/27
def triangle(r:int):#思路:循环叠层,在每一层输出所需的空格和数字#一共有r层,所以外部i从1循环到rfor i in range(1,r+1):#输出空格的数量for j in range(1,r-i+1):print(' ',end='')#输出数字的数量for k in range(0,2*i-1):print(i,end='')#结束每一层输出一个换行print()if __name__ == '__main__':#参数为5triangle(5)

4、分别用循环法和递归法编写函数,输出斐波那契数列{1,1,2,3,5,8,…}的第 15 项。

#Auther: 叶绿体
#Time: 2021/04/27
#迭代法(循环法)求解数列
def iterative(r:int):#初始值为a0、a1fnlow = 0fnup = 1#利用temp储存fnup,防止数据覆盖temp = fnupfor i in range(2,r+1):fnup = fnup + fnlowfnlow = temptemp = fnupreturn fnup#递归法(无限套娃法)求解数列
def recursive(r:int):sum = 0#两种特殊的returnif r <= 0:return 0if r == 1:return 1sum = recursive(r-1) + recursive(r-2)return sumif __name__ == '__main__':print(iterative(15))print(recursive(15))

5、实现 isPrime()函数,参数为整数,要有异常处理,如果 整数是质数,返回 True,否则返回 False。

#Auther: 叶绿体
#Time: 2021/04/27
def isPrime(x:int):#最小的素数是2,所以小于2的都是异常,抛出if x < 2:raise Exception('请输入大于1的正整数!')#预设isPrime为真isPrime = True#对x为2的特殊情况判断if x == 2:return True#其他情况进入循环判断,有余数isPrime则为假for i in range(2, int(pow(x,0.5))+1):if x%i == 0:isPrime = Falsereturn isPrimeif __name__ == '__main__':#利用try-except机制处理抛出的异常try:print(isPrime(int(input())))except Exception as e:print(e)

6、如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数,编写判断一个 3 位数是否为水仙花数的函数,并循环调用输出所有的水仙花数。

#Auther: 叶绿体
#Time: 2021/04/27
def NarN(x:int):#先对x进行异常判断并抛出if x < 100 or x > 999:raise Exception('请输入正确的三位整数!')#利用str的特性对三位数进行分割#这里也可以使用除余来获取三位数字s = str(x)#预设isNarN为假isNarN = False#如果符合水仙花数要求,那么isNarN为真if pow(int(s[0]),3) + pow(int(s[1]),3) + pow(int(s[2]),3) == x:isNarN = Truereturn isNarNif __name__ == '__main__':#利用try-except机制来处理抛出的异常try:#在三位数内循环,如果isNarN为真,输出ifor i in range(100,1000):if NarN(i):print(i)except Exception as e:print(e)

更多推荐

第三次Python程序设计课程作业

本文发布于:2024-02-28 13:28:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1769677.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:作业   程序设计   课程   Python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!