此代码的想法是输入一个高度并形成一个带星号(星号)的钻石。
例如。如果高度输入为6,我希望代码生成:
************
***** *****
**** ****
*** ***
** **
* *
** **
*** ***
**** ****
***** *****
************
到目前为止,我已经上半部分,并且想知道是否有可能翻转'水平划线。
height = int(input('Enter triangle height: '))
star = height
while star >= 1:
a = int(star)*'*'
b = int(2*height-2*star)*' '
c = (height-star)*''
d = star*'*'
print(a, b,c,d,sep='')
star = star - 1
star = height
while star >= 2:
a = int(star)
b = int(2*height-2*star)
c = int((height-star))
d = int(star)
print(a*'*', b*' ',c*'',d*'*',sep='')
star = star - 1`
答案 0 :(得分:1)
更改你的第二个while循环以检查是否star <= height
,并从2增加星号。
所以它看起来像
star = 2
while star <= height:
a = int(star)
b = int(2*height-2*star)
c = int((height-star))
d = int(star)
print(a*'*', b*' ',c*'',d*'*',sep='')
star = star + 1
这是因为你想从“小”变为“大”所以你需要做第一个while循环的倒数,这会减少*
的数量。