基本信息
文件名称:大学计算机(WPS Office)B版主教材第9章源代码.docx
文件大小:41.75 KB
总页数:6 页
更新时间:2025-05-18
总字数:约6.83千字
文档摘要

PAGE2

PAGE2

第9章

例9-3

n=int(input(n=))

a=n%10#求n的个位数字

b=n//10%10#求n的十位数字

c=n//100#求n的百位数字

m=a*100+b*10+c

print(n,reversedis,m)

例9-4

importmath

a,b,c=eval(input(a,b,c=))

ifa+bcanda+cbandb+ca:

p=(a+b+c)/2

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

print(三角形的面积为:,s)

else:

print(输入的边长无法构成三角形!)

例9-5

importmath

x=eval(input(x=))

ifx=0:

y=math.log(math.sqrt(x*x+1))

else:

y=math.sin(x*x*x)+math.fabs(x)

print(y=,y)

还可以采用单分支结构来实现,程序如下。

importmath

x=eval(input(x=))

ifx=0:

y=math.log(math.sqrt(x*x+1))

ifx0:

y=math.sin(x*x*x)+math.fabs(x)

print(y=,y)

第1个if语句可以不用,直接求函数值即可,程序可以改写成:

importmath

x=eval(input(x=))

y=math.log(math.sqrt(x*x+1))

ifx0:

y=math.sin(x*x*x)+math.fabs(x)

print(y=,y)

请思考,第2个if语句能否不用,即程序能否改写成如下形式,并分析原因。

importmath

x=eval(input(x=))

ifx=0:

y=math.log(math.sqrt(x*x+1))

y=math.sin(x*x*x)+math.fabs(x)

print(y=,y)

例9-6

x,y=eval(input(请输入两个整数:))

ifx==y:

print(两数相等!)

elifxy:

print(较大数为:,x)

else:

print(较大数为:,y)

例9-7

n=int(input(输入一个正整数:))

k=0

whilen0:

k+=1

n//=10

print(k,位正整数)

例9-8

importrandom,math

m=int(input(请输入投点总数:))

n=0

foriinrange(1,m+1):

x,y=random.random(),random.random()#产生[0,1)区间均匀分布随机数

ifmath.hypot(x,y)=1.0:#判断(x,y)到原点的距离是否小于或等于1

n+=1

my_pi=4*n/m

print(π的值是,my_pi)

例9-9

forminrange(100,1000):

ifm==sum([int(i)**3foriinstr(m)]):

print(m,end=)

2.4.4Matplotlib绘图—绘制正弦函数曲线的程序如下。

importnumpyasnp#导入NumPy模块并指定np为其别名

frommatplotlibimportpyplotasplt#导入Matplotlib的pyplot子库

x=np.arange(0,2*np.pi,np.pi/100)#从0到2π、步长为π/100,生成一维数组x

y=np.sin(x)#求x各点的正弦函数值

plt.plot(x,y)#绘制正弦函数曲线

plt.show()#显示图形。

例9