Python编写脚本(输出三星形状的‘*’符号)

环境:python3.*

心得:个人认为脚本非我强项,以下效果可以有更简单解决方案,纯属练习逻辑。

image
案一

s=1

while s<=10:

#这是决定多少列,起始为1,大循环一圈即加一,就是大循环10圈。


i=1

j=1
p=1

while i<=10 - s:
print(' ',end='')
i+=1

#这层循环是保留空格部分,如最后一次循环,s=10,i的值一直在涨不可能小于0,所以最下面输出时没有空格。再如第一次循环,s=1,10-1=9,i自加1的增长,即到9时,输出最后一个空格,10的时候>9,所以循环就不成立了。


while j<=s:

print('*',end='')
j+=1

#这是输出左半部分*符号的代码


while p<s:

print('*',end='')
p+=1

#这是输出右半部分*符号的代码,跟上面不同的是<没有等号,加了等号就会出现两个部分有重复。end=‘’是本循环不自动换行。

print()

#这部分代码是 单纯的换行


s+=1

#决定大循环的圈数,一圈加一,最大到10.

方案二:

  

for i in range(1,10):
print(('*'*(i*2-1)).center(30,'!'))
#这部分代码重点就是函数的运用了,定义一个数字集合数字1到10,打印(i乘以2-1)个的*符号,不加函数为没有格式化的形状。
center(30,'!')函数意思为将原字符返回为居中显示,30代表宽度(可自己定义),!就代表用什么来填充,什么都不加默认为空
原文地址:https://www.cnblogs.com/jojoword/p/10590923.html