2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Python 程序设计与算法基础教程(第二版)第四章上机实践

Python 程序设计与算法基础教程(第二版)第四章上机实践

时间:2024-06-22 04:44:50

相关推荐

Python 程序设计与算法基础教程(第二版)第四章上机实践

第四章上机实践部分参考答案

2.格式化杨辉三角3.求直角三角形周长和面积4.随机数5.党费6.袖珍计算器7.判断三边构成三角形8.鸡兔9.计算e的x次方近似值10.平方根11.余数12.球的问题13.猴子吃桃14.计算Sn=1+11+111+....+11..11

2.格式化杨辉三角

说实话这题一开始我没有什么想法,只能用最蠢的办法

print("1".center(20))print("1 1".center(20))print("1 2 1".center(20))print("1 3 3 1".center(20))print("1 4 6 4 1".center(20))

3.求直角三角形周长和面积

import matha=float(input("请输入直角三角形的直角边A(>0):"))b=float(input("请输入直角三角形的直角边B(>0):"))c=math.sqrt(a**2+b**2)sinA=b/csinB=a/cx=round(math.asin(sinA)*180/math.pi,0)y=round(math.asin(sinB)*180/math.pi,0)print(str.format("a={0:2.2f},b={1:2.2f},c={2:2.2f}",a,b,c))print(str.format("三角形周长={0:2.2f},面积 = {1:2.2f}",a+b+c,a*b/2))print(str.format("三角形两个锐角的度数分别为:{0:2.2f},{1:2.2f}",x,y))

4.随机数

b=random.randint(0,100)c=random.randint(0,100)print(str.format("原始值:a={0},b={1},c={2}",a,b,c))def p1(a,b,c):if a<b:passelse:a,b=b,aif a<c:passelse :a,c=c,aif b<c:passelse :b,c=c,b return a,b,cdef p2(a,b,c): abc=[a,b,c]c=max(abc)a=min(abc)abc.remove(a)abc.remove(c)b=abc[0]return a,b,ca,b,c = p1(a,b,c)print(str.format("(方法一)升序值:a={0},b={1},c={2}",a,b,c))a,b,c = p2(a,b,c)print(str.format("(方法二)升序值:a={0},b={1},c={2}",a,b,c))

5.党费

m=int(input("请输入有固定工资收入的党员的月工资:"))if 0<m<=3000:s=m*0.005elif 3000<m<=5000:s=m*0.01elif 5000<m<=10000:s=m*0.015elif m>10000:s=m*0.02print(str.format("月工资 = {0}, 交纳党费:{1}",m,s))

6.袖珍计算器

x=float(input("请输入操作数X:"))y=float(input("请输入操作数Y:"))z=str(input("请输入操作符:"))if (z=="+"):print(str.format("{0}+{1}={2}",x,y,x+y))elif (z=="-"):print(str.format("{0}-{1}={2}",x,y,x-y)) elif (z=="*"):print(str.format("{0}*{1}={2}",x,y,x*y)) else:if(y==0):print("分母为0,取余异常")else:print(str.format("{0}/{1}={2}",x,y,x/y))

7.判断三边构成三角形

a=float(input("请输入三角形的边a:"))b=float(input("请输入三角形的边b:"))c=float(input("请输入三角形的边c:"))ma=max(a,b,c)mi=min(a,b,c)if(a+b>c and a+b>c and b+c>a):if(a==b==c):print("此三角形为等边三角形!")elif(a==b or a==c or b==c):print("此三角形为等腰三角形!")elif(ma**2==mi**2+(a+b+c-ma-mi)**2):print("此三角形为直角三角形")else:print("此三角形是一个普通三角形")else:print("无法构成三角形")

8.鸡兔

h=int(input("请输入总头数: "))f=int(input("请输入总脚数: "))r=1;c=1while(f%2!=0):print("头数必须是偶数")f=int(input("请输入总脚数: "))r=int(f/2-h)c=int(h-r)if(f<2*h):print("无解,请重新运行测试!")else:print("方法一:鸡:",c,"只"",""兔: ",r,"只")for x in range(0,h+1):if(2*x+4*(h-x)==f):print("方法二:鸡:",x,"只"",""兔: ",h-x,"只")breakif(f<2*h):print("无解,请重新运行测试!")break

9.计算e的x次方近似值

ex=1n=1j=1x=float(input("请输入x:"))w=1while(w/j>=pow(10,-6)):w*=xj*=nn+=1ex+=w/jprint("pow(e,x)= ",ex)

10.平方根

import matha=float(input("请输入a的值"))x=a/2while(abs(x-math.sqrt(a))>pow(10,-6)):x=0.5*(x+a/x)print(x)

11.余数

print("0~1000中用3除余2,用5除余3,用7除余2的数有:")for i in range(0,1001):if(i%3==2 and i%5==3 and i%7==2):print(str.format("{0:<5}",i),end="")

12.球的问题

这题其实把我搞到了,老师反复的强调这是临界问题。

r=0h=100for i in range(1,11):print('小球在第',i,'次落地时,共经过',r,'米')r+=hh/=2print(str.format('第{}次反弹{}米',i,h))

13.猴子吃桃

r=1for i in range(8,0,-1):print(str.format('第{}天桃子数为:{}',i,r))r=(r+1)*2

14.计算Sn=1+11+111+…+11…11

import randomn=random.randint(1,10)t=1sn=1def f(n):if n==1:return 1if n>1:return f(n-1)*10+1for i in range(1,n):sn+=f(i)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。