<>第四章来了
<>1.杨辉三角,很简单
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))
<>2.三角形相关的问题,注意记得先声明math函数。
import math a=float(input("请输入直角三角形的直角边A(A>0):")) b=float(input(
"请输入直角三角形的直角边B(B>0):")) c=math.sqrt(a**2+b**2) zc=a+b+c mj=1/2*a*b sinA=b/c sinB
=a/c A=round(math.asin(sinA)*180/math.pi,0) B=round(math.asin(sinB)*180/math.pi,
0) print(str.format("直角三角形三边分别为:a={0:.1f},b={1:.1f},c={2:.1f}",a,b,c)) print(str
.format("三角形的周长={0:.1f},面积={1:.1f}",zc,mj)) print(str.format(
"三角形两个锐角的度数分别为:{0:.1f}和{1:.1f}",A,B))
<>3.对随机数排序。注意提前声明random函数
import random a=random.randint(0,100) b=random.randint(0,100) c=random.randint(
0,100) print(str.format("原始值: a={0},b={1},c={2}",a,b,c)) ma=max(a,b,c) mi=min(a,
b,c) me=a+b+c-ma-mi print(str.format("(方法一)升序值:a={0},b={1},c={2}",mi,me,ma)) if(
a>b):a,b=b,a if(a>c):a,c=c,a if(b>c):b,c=c,b print(str.format(
"(方法二)升序值:a={0},b={1},c={2}",a,b,c))
<>4.党费问题。
s=int(input("请输入有固定工资的党员的月工资:")) f=1 if(s<=400): f=0.5/100*s elif(s>=401 and s
<=600): f=1/100*s elif(s>=601 and s<=800): f=1.5/100*s elif(s>=801 and s<=1500):
f=2/100*s else:f=3/100*s print(str.format("月工资={0},交纳党费{1:.1f}",s,f))
<>5.一个简单的计算器
x=float(input("请输入操作数x:")) y=float(input("请输入操作数y:")) c=str(input("请输入操作符:")) z
=1 if(c=="+"): z=x+y print(str.format("{0}{1}{2}={3}",x,c,y,z)) elif(c=="-"): z=
x-y print(str.format("{0}{1}{2}={3}",x,c,y,z)) elif(c=="*"): z=x*y print(str.
format("{0}{1}{2}={3}",x,c,y,z)) elif(c=="/"): if(y==0):print("分母为0,零除异常") else:
z=x/y print(str.format("{0}{1}{2}={3}",x,c,y,z)) else: if(y==0):print(
"分母为0,取余异常") else: z=x%y print(str.format("{0}{1}{2}={3}",x,c,y,z))
<>6.判断三角形
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("无法构成三角形")
<>7.鸡兔同笼问题,注意合理运用存在的关系。判断无解可以用脚数是一定大于等于头数。
h=int(input("请输入总头数: ")) f=int(input("请输入总脚数: ")) r=1;c=1 while(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,"只") break if(f<2*h): print
("无解,请重新运行测试!") break
<>8.计算ex的近似值。
ex=1 n=1 j=1 x=float(input("请输入x:")) w=1 while(w/j>=pow(10,-6)): w*=x j*=n n+=1
ex+=w/j print("pow(e,x)= ",ex)
<>9.迭代法求平方根,这里设置x的初始值为1/2a
import math a=float(input("请输入a的值")) x=a/2 while(abs(x-math.sqrt(a))>pow(10,-6)
): x=0.5*(x+a/x) print(x)
<>10.韩信点兵问题。
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="")
<>11.小球落地问题。运用等差数列来求算,但是这里求算的和题目给出的结果不太一样,不知道怎么回事,所以这个还是仅仅看一下吧。
n=int(input("请输入第n次反弹的数目")) an=50 sn=1 if n==1:sn=100 if n>1: sn=100+200*(1-pow
(0.5,n-1)) print(sn,an*pow(0.5,n-1))
<>12.猴子偷桃问题。
day=8 taozi=1 while(day>0): print("第%d天桃子数为: %d"%(day,taozi)) taozi=(taozi+1)*2
day-=1 print(sn,an*pow(0.5,n-1))
<>13.累加问题。递归
import random n=random.randint(1,10) t=1 r=0 for i in range(1,n+1): r+=t t=10*t
+1 print(str.format('n={} Sn={}',n,r))
也可以用定义函数的方法
import random n=random.randint(1,10) t=1 sn=1 def f(n): if n==1:return 1 if n>1
:return f(n-1)*10+1 for i in range(1,n): sn+=f(i) print("n= ",n,"sn= ",sn)
<>
最近有点迷茫,感觉自己的信管专业前景不是很好,而且又是在一所双非的财经类大学里面。专业学的太过宽泛,学而不精,既学计算机又学管理,但是和相关专业的人竞争又竞争不过。在知乎上面瞎搜了一下自己的专业,有人提议这个专业去干数据库管理员很不错,但是毕业后很多公司不一定要没有工作经验的人,而且未来形势变化也无法预测。未来公有云应该是会越来越多,公司可以将数据库交给第三方来管理,这样的DBA的岗位应该是越来越少。也不知道该肿么办,唉唉,烦死了。