python程序设计与算法基础上机实践第二章,python程序设计上机实践答案

  python程序设计与算法基础上机实践第二章,python程序设计上机实践答案

  Python版本:3.6

  老实说,我不想写前四个问题,因为太简单了。

  然而,我想让自己出丑一点。

  3.1# -*-编码:utf-8 -*-

  I,r=1,0

  while(I=100):r=I;i=1

  打印(r)

  其实第一个问题用for循环可能更简单。

  3.2# -*-编码:utf-8 -*-

  I,r=10,0

  while(i=1):

  r=i

  i-=1

  打印(r)

  基本问题

  3.3# -*-编码:utf-8 -*-

  I,r=1,0

  while(i=99):

  r=i

  i=2

  打印(r)

  第三题我还是坚持用while循环。

  3.4# -*-编码:utf-8 -*-

  I,r=2,0

  while(i=100):

  r=i

  i=2

  打印(r)和第四个问题。

  3.5# -*-编码:utf-8 -*-

  i=2000

  而i3000:

  如果我和i0==0 @ 0!=0:

  i=4

  继续

  print(i,end= )

  i=4

  打印()

  对于范围内的I(2000,3000,4):

  如果我和i0==0 @ 0!=0:

  继续

  print(i,end= )

  题目是用不同的实现方法,当然我也想用不同的循环(什么叫除法?我听不到你)

  之前代码有个BUG,已经修复。

  图1-3.5操作结果

  这让我头晕目眩。

  3.6# -*-编码:utf-8 -*-

  N=int(输入(输入要计算的项数n:))

  r=0

  对于范围(1,n ^ 1)中的I:

  如果i%2==0:r-=2*i-1

  否则:r=2*i-1

  print(Sn 是:,r)这个问题的结果是奇数是n,偶数是-n,差不多就是我想写的。

  3.7# -*-编码:utf-8 -*-

  N=int(输入(输入要计算的项数n:))

  r=0

  对于范围(1,n ^ 1)中的I:r=1/I

  print(Sn 的结果是:,r)一开始我想写1亿,但是我输入后我的破电脑没反应,只好写1000万。

  图2-3.7操作结果

  3.8# -*-编码:utf-8 -*-

  打印(矩形99乘法表:)

  对于范围(1,10)内的I:

  s=

  对于范围(1,10)内的j:

  s=str . format( { 0:1 } * { 1:1 }={ 2:2 } ,I,j,i*j)

  印刷品

  打印(下三角99乘法表:)

  对于范围(1,10)内的I:

  s=

  对于范围(1,10)内的j:

  s=str . format( { 0:1 } * { 1:1 }={ 2:2 } ,I,j,i*j)

  如果j==i:break

  印刷品

  打印(上三角99乘法表:)

  对于范围(1,10)内的I:

  s=

  对于范围(1,10)内的j:

  如果j

  s=str . format( { 0:1 } * { 1:1 }={ 2:2 } ,I,j,i*j)

  印刷品

  矩形乘法表的实现,前面有例子,稍加修改就可以实现上下三角形。

  图3.3.8操作效果

  3.9# -*-编码:utf-8 -*-

  导入数学

  A=float(输入(请输入三角形A的边:))

  B=float(输入(请输入三角形B的边:))

  C=float(输入(请输入三角形C的边:))

  If=0或b=0或c=0或a b=c或a c=b或b c=a: print(这三条边不能构成三角形!)

  否则:

  Print(str.format(三角形的三条边是:a={},b={},c={} ,a,b,c))

  h=(a b c)/2

  s=math.sqrt(h*(h-a)*(h-b)*(h-c))

  Print(str.format(三角形的周长={0:1},面积={1:1} ,2*h,s))

  记得上学期Java计算机考试的时候出了这道题。真是太好了。运行效果和书上一样,就不截图了。

  3.10# -*-编码:utf-8 -*-

  导入数学

  X=float(输入(请输入x:))

  如果x=0:y=(x * x-3 * x)/(x ^ 1)2 * math . pi math . sin(x)

  if x 0:y=math . log(-5 * x)6 * math . sqrt((-x math . e * * 4))-(x 1)* * 3

  Print (Method 1: x={0},y={1} ,x,y)#单个分支将导致错误

  Print(方法2: x={0},y={1} ,x,y)

  如果x=0:y=(x * x-3 * x)/(x ^ 1)2 * math . pi math . sin(x)

  else:y=math . log(-5 * x)6 * math . sqrt((-x math . e * * 4))-(x 1)* * 3

  Print(方法3: x={0},y={1} ,x,y)

  y=(x * x-3 * x)/(x ^ 1)2 * math . pi math . sin(x)if(x=0)else \

  math . log(-5 * x)6 * math . sqrt((-x math . e * * 4))-(x 1)* * 3

  Print (Method 4: x={0},y={1} ,x,y)正如我在笔记中所说,使用单个分支可能会导致错误,所以我没有编写单个分支。

  3.11# -*-编码:utf-8 -*-

  导入数学

  A=float(输入(请输入系数a:))

  B=float(输入(请输入系数b:))

  C=float(输入(请输入系数c:))

  d=b*b-4*a*c

  If==0,b==0: print(这个方程无解!)

  Elia==0: print(这个方程的解是:,-c/b)

  Elid==0: print(这个方程有两个相等的实根:,-b/2*a)

  Elif d0:print(str.format(这个方程有两个不相等的实根:{}和{} ,(math.sqrt (d)-b)/2 * a,-(bmath.sqrt (d))/2 * a))

  Elif d0:print(str.format(此方程有两个共轭复数根:{0} {1}i和{0}-{1} I ,-b/2 * a,math.sqrt (-d)/2 * a))

  如果你求一个负数的平方根,你仍然会得到一个错误。

  我中学做方程题的时候要是有这些就好了。

  3.12# -*-编码:utf-8 -*-

  n=-1

  s=1

  而n0:

  N=int(输入(请输入一个非负整数:))

  如果n==0:print(0!=1)

  否则:

  对于范围(1,n ^ 1)中的I:

  s*=i

  Print(str.format( for循环:{}!={} ,n,s))

  s=i=1

  当i=n时:

  s*=i

  i=1

  Print(str.format(while循环:{}!={} ,n,s))还是有bug,如果输入小数还是会出错。继续学习

  3.13# -*-编码:utf-8 -*-

  随机导入

  a=random.randint(0,100)

  b=random.randint(0,100)

  定义gcd(x,y):

  如果y==0,则返回x否则gcd(y,x%y)

  Print(str.format (integer 1={},integer 2={} ,a,b))

  Print(str.format(最大公约数={},最小公倍数={} ,gcd(a,b),int(a*b/gcd(a,b)))

  0和任意正整数的最大公约数都是0对吗?

  感觉Python类的进步好快。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: