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