【发布时间】:2020-12-14 20:16:12
【问题描述】:
我正在尝试为文本冒险编写一个 ascii 指南针。我在这个网址找到了我想做的事情:
我为我做了这个修改:
north = "The Hills"
west = "A realy dark room"
#west = "A longer text destroy the positions"
east = "Entrance to the Dungeon"
south = "[X]"
n = "N"
s = "S"
vert_line = "║"
hzt_line = " ⯇ W ══ (C) ══ E ⯈ "
print(north.center(72, " "))
print(r"▲".rjust(len(west)+10))
print(r""+n.rjust(len(west)+10))
print(r""+vert_line.rjust(len(west)+10))
print(r""+vert_line.rjust(len(west)+10))
print(west.rjust(len(east)) + hzt_line + east)
print(r""+vert_line.rjust(len(west)+10))
print(r""+vert_line.rjust(len(west)+10))
print(r""+s.rjust(len(west)+10))
print(r"▼".rjust(len(west)+10))
print(south.center(len(west)+len(hzt_line)+len(east)-5, " "))
问题在于为标签计算正确的空白。它取决于文本的长度,并超出中心。
我还卡在计算空格..结果应该是这样的:
This is up
▲
N
|
To the left ◀ W ── [C] ── E ⯈ Dining Room
|
S
▼
Kitchen
代码看起来也很丑,也许有人知道更聪明的解决方案。
非常感谢您的帮助!
Rufnex
【问题讨论】:
-
这能回答你的问题吗? Create nice column output in python
-
@quamrana 谢谢,对进一步测试很有帮助。
标签: python string text ascii adventure