Python小白一枚,欢迎各位大佬指教。
21、求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。
s = input("Input s : ")
x = s.split('+')
sum = 0
for i in x:
sum += int(i)
print(sum)
运行结果:
22、一个数如果恰好等于它的因子之和,这个数就称为"完数"。
temp = []
for i in range (1,1001):
for j in range (1,i):
if i % j ==0:
temp.append(j)
if sum(temp) == i:
print(str(i)+" : "+str(temp))
temp.clear()
运行结果:
23、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
h = 100
sumh = 100
for i in range(9):
h /= 2
sumh += 2 * h
print("共经过%.3f米"%sumh)
print("第10次反弹高度为%.4f米"%(h/2))
运行结果:
24、两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
group = ['a','b','c']
flag = {}
for i in group:
if i != 'x' and i != 'z':
flag['c'] = 'y'
if i != 'x' and i != 'y':
flag['a'] = 'z'
if i != 'y' and i != 'z':
flag['b'] = 'x'
print("A的对手是:"+flag['a'])
print("B的对手是:"+flag['b'])
print("C的对手是:"+flag['c'])
运行结果:
25、打印出如下图案(菱形):
print(" *")
print(" ***")
print(" *****")
print("*******")
print(" *****")
print(" ***")
print(" *")
运行结果:
26、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
molecule = 2.0
denominator = 1.0
sum = 0.0
for i in range(1,21):
sum += molecule / denominator
temp = denominator
denominator = molecule
molecule += temp
print("前20项合为%.3f"%sum)
运行结果:
27、给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
n = input("Input N: ")
print("它是%d位数"%len(n))
print("它们分别是",end=" : ")
for i in range(len(n)):
print(n[-1],end=" ")
n = n[:-1]
运行结果:
28、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
string = input("Input String : ")
s_len = len(string) / 2
flag = True
for i in range(int(s_len)):
if(string[i] != string[-i-1]):
flag = False
if(flag):
print("它是回文串")
else:
print("它不是回文串")
运行结果:
29、求一个3*3矩阵主对角线元素之和。
m = [0,0,0]
sum = 0
print("请输入一个3*3矩阵:")
for i in range(3):
m[0],m[1],m[2]=map(int, input().split(' '))
sum += (m[i] + m[2-i])
print("对角线元素之和为:"+ str(sum))
运行结果:
30、两个 3 行 3 列的矩阵,实现其对应位置的数据相加,并返回一个新矩阵
m = [[0,0,0],[0,0,0],[0,0,0]]
for j in range(1,3):
print("请输入第%d个矩阵:"%j)
for i in range(3):
x,y,z=map(int, input().split(' '))
m[i][0] += x
m[i][1] += y
m[i][2] += z
print("----------")
for i in range(3):
print("%2d %2d %2d"%(m[i][0],m[i][1],m[i][2]))
运行结果: