gpt4 book ai didi

python - 我无法通过 print 和 str.center 获得所需的输出

转载 作者:行者123 更新时间:2023-12-01 09:06:54 25 4
gpt4 key购买 nike

我一直在尝试打印设计师门垫,但无法获得所需的结果。垫子应该只包含这些| , - , . 特殊字符。这里 N 是行数,M 是行数。在其之间应打印“Welcome”。

我的代码:

N, M = 4, 12
for i in range(1, N, 2):
print(str(".|." * i).center(M, '-'))
print("WELCOME".center(M, '-'))
for i in range(N-2, -1, -2):
print(str(".|." * i).center(M,"-"))

我的结果:

----.|.-----
-.|..|..|.--
--WELCOME---
---.|..|.---
------------

期望的输出:

----.|.-----
-.|..|..|.--
--WELCOME---
-.|..|..|.--
----.|.-----

最佳答案

可能更容易构建顶部部分,将其与欢迎词一起打印,然后打印顶部的反面作为底部部分?

N, M = 4, 12
top = [('.|.' * i).center(M, '-') for i in range(1, N, 2)]
print(*top, 'WELCOME'.center(M, '-'), *top[::-1], sep='\n')

给你:

----.|.-----
-.|..|..|.--
--WELCOME---
-.|..|..|.--
----.|.-----

与使用列表切片相比,更明确的是在这里使用reversed,它的功能相同,但阅读起来更容易,例如:

print(*top, 'WELCOME'.center(M, '-'), *reversed(top), sep='\n')

关于python - 我无法通过 print 和 str.center 获得所需的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51970441/

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