【发布时间】:2017-02-23 07:49:16
【问题描述】:
我正在练习打印各种类型的图案,但我被困在六边形图案上。我正在使用 Asterisk(*) 打印它。
它应该是动态的。我几乎完成了它,但在最后一部分卡住了。我已将所有部分分成块,并使用 while 循环和 if 条件执行所有块。
sideLength = 5
totalLength = (sideLength)*2 + (sideLength-2)
loop =1
while loop<=totalLength :
if (loop==1) or (loop==totalLength):
print " "*((totalLength - sideLength)//2) + "*"* sideLength + " "*((totalLength- sideLength)//2)
if loop>(sideLength-1) and loop<= (sideLength-1)+sideLength:
print "*" + " "*(totalLength-2) + "*"
if (loop>=1) and (loop)<(sideLength-1):
print " "*(sideLength- 1- loop) + "*" + " " * ((sideLength-2) + 2*(loop)) + "*" + " "*(sideLength- 1- loop)
if loop>((totalLength//2) + (sideLength//2)) and loop<(totalLength-1):
print " "*(loop - 1 - sideLength ) + "*"
loop+=1
最后一个 if 条件出现的问题。
【问题讨论】:
-
欢迎来到stackoverflow,而不是放图片。请自行复制粘贴代码。
-
在发布您的代码截图时,您希望我们重新输入整个代码。既然您需要帮助,请尽量提供帮助。这包括代码相关部分的文本副本,以及您收到的错误(或错误输出)。见How to Ask 和minimal reproducible example。
标签: python python-2.7