循环练习题(41~44)
ls = list()
i = 2
num = eval(input(":请输入一个大于2的整数:"))
while i <= num:
if num % i == 0:
ls.append(i)
num = num // i
else:
i += 1
print(ls)
lay = int(input("输入你要打印的层数:"))
for i in range(1,lay+1):
k = lay-i
for j in range(0,k):
print(" ",end="")
n = 2 * i - 1
for z in range(0,n):
if z + 1 == i:
for j in range(1,i+1):
print(str(j)+" ",end="")
elif z == 0 :
for j in range(i,1,-1):
print(str(j)+" ",end="")
print()
#A
lay = 6
for i in range(1,lay+1):
for j in range(1,i+1):
print(str(j)+" ",end="")
print()
#B
lay = 6
for i in range(1,lay+1):
for j in range(1,lay-i+2):
print(str(j)+" ",end="")
print()
#C
lay = 6
for i in range(1,lay+1):
k = lay - i + 1
for j in range(1,k):
print(" ",end="")
for j in range(i,0,-1):
print(str(j)+" ",end="")
print()
#D
lay = 6
for i in range(1,lay+1):
k = i
for j in range(1,k):
print(" ",end="")
for j in range(1,lay-i+2):
print(str(j)+" ",end="")
print()
44
.
lay = int(input("输入你要打印的层数:"))
for i in range(1,lay+1):
k = lay-i
for j in range(0,k):
print(" \t",end="")
n = 2 * i - 1
for z in range(0,n):
if z + 1 == i:
for j in range(i,0,-1):
x = 2 ** (j-1)
print(("%d\t")%x ,end="")
elif z == 0 :
for j in range(1,i):
x = 2 ** (j-1)
print(("%d\t")%x ,end="")
print()