发布网友 发布时间:2022-04-26 21:29
共3个回答
懂视网 时间:2022-04-07 09:16
python打印星号金字塔的方法
用星号输出一个金字塔(行数自定)
推荐:《python教程》
解题思路:
①定义一个函数来进行封装,名字任取
②计算每行需要输出的空格的数量 (行数减一)
③计算每行需要输出的*号的数量 (两倍的行数减一)
知识补充:
函数原型:range(start, end, scan):
参数含义:start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5)
end:计数到end结束,但不包括end。例如:range(0, 4) 是[0, 1, 2, 3,]没有4
scan:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1) range(0, 5,2)的跳跃间距为2,其取值为 “0 2 4”
源代码:
运行结果:
热心网友 时间:2022-04-07 06:24
num=eval(input('请输入一个整数:'))
print('数字金字塔显示如下:')
level= 1 #金字塔的高度即层数
while level <= num:
kk=1 #每一层长度的计数
t=level
length=2*t-1
while kk<=length:
if kk==1:
if kk==length:
print(format(t,str(2*num-1)+'d'),'\n')
break
#要形成金字塔型,13d是1的距离,15d是7的距离,然后进行测试
#只要之后的距离比1的距离多2,再减去2倍的层数即可以得到金字塔形状
else:
print(format(t,str(2*num+1-2*level)+'d'),'',end='')
t-=1
else:
if kk==length:
print(t,'\n')
break
elif kk<= length/2:
print(t,'',end='')
t-=1
else:
print(t,'',end='')
t+=1
kk+=1
level+=1
热心网友 时间:2022-04-07 07:42
for i in range(1,10):
result=[]
for j in range(1,i+1):
result.append(j)
for j in range(i-1,0,-1):
result.append(j)
result=''.join(str(x) for x in result)
print("{0:^17}".format(result))