我需要用python打印一个菱形,输入长度。我已经让它工作,以检查宽度,根据它是奇数或偶数,也确保输入的数字是正确的。但打印结果时我遇到了问题。 我得到的是:
length : 10
*
***
*****
*******
*********
*********
*******
*****
***
*
length = 10 #This line don't exist normally, its just to avoid the input and every check.
lengthTest = length
answer = lengthTest % 2
if (answer == 0):
length_1 = 1
while (length_1 < length):
print("*" * length_1)
length_1 = length_1 + 2
length_1 = length_1 - 2
while (length_1 > 0):
print("*" * length_1)
length_1 = length_1 - 2
else:
print("odd")
有没有解决太空问题的办法让它看起来像钻石?在
为什么要麻烦多个for循环?在
n = n // 2
。在这是数学:
每次我们得到},并通过}之间提供反向对称性)乘以2来计算星号的数量,减去1可以创建一个中心钻石(奇数长度)。在
+2
星号,我们希望它们上升直到到达中心,然后再下降,所以我们从-n+1
到{n
减去绝对电流指数(在[-n, -1]
和{我们使用
^{}
和n * 2 - 1
进行字符串格式化,因为这是可能的最大宽度(当i = 0
,(n - abs(i)) * 2 - 1
将是n * 2 - 1
)。在输出(对于
^{pr2}$n = 5
):在星星前打印空格:
输出
^{pr2}$您还需要在前面添加
length-length_1
个空格的一半:相关问题 更多 >
编程相关推荐