编程题
(1)输人直角三角形得两个直角边得长度a、b,求斜边c得长度。
frommathimport*
a=float(input(请输入斜边1得长度:"))#输入实数
b=float(input(请输入斜边2得长度:))#输入实数
c=a*a+b*b#计算,得到得就就是斜边得平方
c=sqrt(c)#开方,得到得就就是斜边长
print(斜边长为:,c)#显示,一项就就是字符串,一项就就是c表示得斜边长
(2)输人两个数,求她们得最大数。
a=int(input("请输入第一个数:))
b=int(input(请输入第二个数:"))
max_num=a
ifmax_numb:
max_num=b
print(最大数就就是:,max_num)
(4)一球从100米高度自由落下,每次落地后反跳回原高度得一半;再落下,求她在第10次落地时,共经过多少米?第10次反弹多高?
Sn=100、0
Hn=Sn/2
forninrange(2,11):
Sn+=2*Hn
Hn/=2
print(Totalofroadis%f%Sn)
print('Thetenthis%fmeter%Hn)
(5)将一个列表逆序输出。
a=[9,6,5,4,1]
N=len(a)
print(a)
foriinrange(len(a)//2):
a[i],a[N-i-1]=a[N-i-1],a[i]
print(a)
(6)求一个3X3矩阵对角线元素之和。程序分析:利用双重for循环控制输人二维数组,再将a[i][门]累加后输出。
a=[]
sum=0、0
foriinrange(3):
a、append([])
forjinrange(3):
a[i]、append(float(input(inputnum:\n)))
foriinrange(3):
sum+=a[i][i]
print(sum)
(7)打印出由1、2、3、4个数字组成得互不相同且无重复数字得三位数。
程序分析:可填在百位、十位、个位得数字都就就是1、2、3、4。组成所有得排列后再去掉不满足条件得排列。
foriinrange(1,5):
forjinrange(1,5):
forkinrange(1,5):
if(i!=k)and(i!=j)and(j!=k):
print(i,j,k)
(10)编写函数,判断个数字就就是否为素数,就就是则返回字符串YES,否则返回字符串NO,并编写主程序调用该函数。
x=int(input(请输入一个大于1得自然数:))
importmath
defIsPrime(a):
n=int(math、sqrt(a)+1)
foriinrange(2,n):
ifa%i==0:
return'No
else:
return'Yes
print(IsPrime(x))
(11)古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月得兔子总数为多少?
程序分析:兔子得规律为数列1,1,2,3,5,8,13,21…、、
f1=1
f2=1
foriinrange(1,21):
print(%12d%12d%(f1,f2))
if(i%2)==0:
print(')
f1=f1+f2
f2=f1+f2
(12)两个变量互换值。
defexchange(a,b):
a,b=b,a
return(a,b)
x=10
y=20
print(x=%d,y=%d%(x,y))
x,y=exchange(x,y)
print('x=%d,y=%d%(x,y))
(13)有5个人坐在一起,问第五个人多少岁?她说比第4个人大2岁。问第4个人岁数,她说比第3个人大2岁。问第三