先看结果:
再看代码:
kg=[' ']
xh=['*']
for i in range(1,6):
for j in range(0,5-i):
print(kg[0],end='')
print('*',end='')
for n in range(0,int(2*i-3+(1-(i-1.5)*((i-1.5)**2)**(1/2)/(i-1.5)** 2)/2)):
if i==5:
kg[0]=xh[0]
print(kg[0], end='')
if i!=1:
print('*',end='')
print()
原理:
大部分人看不懂
(csdn打星号会默认注释,所以汉字代替)
这是个什么,这行代码其实是an=0,1,3,5,7数列的推导式,用线性代数推导
先定义两个列表,一个是存一个空格,另一个存"星号",第一行第五行比较特殊,第一行只有一个“星号”,所以 if i!=1,不然会在第一行打印两个星号,最后一行需要把带有星号的列表赋值给带空格的字符串,这样最后一行也就全部变成了星号,中间按数列打印空格
所以,线性代数这门数学工具也要好好学