gpt4 book ai didi

python - 如何打印这个图案?我无法得到消除中间部分的逻辑

转载 作者:太空狗 更新时间:2023-10-29 17:52:49 24 4
gpt4 key购买 nike

编写一个程序,要求用户输入 n(假设用户输入一个正整数),并使用星号 '*' 仅打印三角形的边界> 高度 n

例如,如果用户输入 6,则三角形的高度应为 6,如下所示,并且顶部的星号之间不应有空格行:

******
* *
* *
* *
**
*

我不明白如何打印图案顶部和末端之间的部分?这是我的代码:

n = int(input("Enter a positive integer value: "))
for i in range (n, 0, -1):
print ("*" * i)

for 循环用于打印反向星号三角形。障碍是打印中间部分。

最佳答案

for 循环的每次迭代中,您打印一行模式,它的长度为 i。因此,在模式的第一行和最后一行中,您将拥有 "*"* i。在模式的每一行中,您必须在行首打印一个 *,在行尾打印一个 *,以及 (i - 2) 中间的空格,因为已经打印出 2 颗星,结果是 "*"+ (""* (i - 2)) + "*"。结合这两种情况后,我们得到以下代码:

n = int(input("Enter a positive integer value: "))
for i in range(n, 0, -1):
if i == 1 or i == n:
print("*" * i)
else:
print("*" + (" " * (i - 2)) + "*")

关于python - 如何打印这个图案?我无法得到消除中间部分的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35547290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com