A30322.【PY】沙漏
2024-10-31 21:15:51
发布于:浙江
0阅读
0回复
0点赞
n = int(input())
# 上半部分
for i in range(n // 2 + 1):
print(' ' * i + '*' * (n - 2 * i))
# 下半部分
for i in range(n // 2):
print(' ' * (n // 2 - 1 - i) + '*' * (2 * (i + 1) + 1))
上半部分
for i in range(n // 2 + 1):这个循环从0到n // 2(包括n // 2),表示上半部分的行数。
' ' * i + '' * (n - 2 * i):每一行的空格数是i,星号数是n - 2 * i。
下半部分
for i in range(n // 2):这个循环从0到n // 2 - 1,表示下半部分的行数。
' ' * (n // 2 - 1 - i) + '' * (2 * (i + 1) + 1):每一行的空格数是n // 2 - 1 - i,星号数是2 * (i + 1) + 1。
详细解释下半部分的逻辑
n // 2 - 1 - i:计算每一行的空格数。随着i的增加,空格数逐渐减少。
2 * (i + 1) + 1:计算每一行的星号数。随着i的增加,星号数逐渐增加。
这里空空如也
有帮助,赞一个