【问题标题】:Is there any way to make something a set distance in python? [duplicate]有什么方法可以在 python 中设置一定的距离吗? [复制]
【发布时间】:2021-09-16 06:09:43
【问题描述】:

我目前正在制作一个tic_tac_toe 游戏,并且我正在尝试制作一个函数,它会为每个回合绘制一个包含新信息的网格。问题是输入新信息时“网格”板会移动。

这是我尝试过的:

row1 = ["", "", ""]
row2 = ["", "", ""]
row3 = ["", "", ""]
def gridDrawer (row1, row2, row3) :
    print(f"| {row1[0]} |", f"{row1[1]}", f"| {row1[2]} |")
    print(f"| {row2[0]} |", f"{row2[1]}", f"| {row2[2]} |")
    print(f"| {row3[0]} |", f"{row3[1]}", f"| {row3[2]} |")

gridDrawer(row1, row2, row3)
row1[0] = 5 # This part moves the "|" if i call the gridDrawer() again. 

【问题讨论】:

  • 您的意思是:row1 = [" ", " ", " "] 等?
  • 您可以通过使空单元格与占用的呼叫具有相同的宽度来轻松修复它,即@quamrana 建议的一个字符宽。另一种方法是在您的字符串中指定一个字段。例如f"|{row1[0]:1}` 等

标签: python function spacing


【解决方案1】:

您可以在原始空网格中使用空格而不是空字符串。这样,当你将它更改为其他字符时,大小保持不变。

row1 = [" ", " ", " "]
row2 = [" ", " ", " "]
row3 = [" ", " ", " "]
def gridDrawer (row1, row2, row3) :
    print(f"|{row1[0]}|{row1[1]}|{row1[2]}|")
    print(f"|{row2[0]}|{row2[1]}|{row2[2]}|")
    print(f"|{row3[0]}|{row3[1]}|{row3[2]}|")

输出:

>>> row1[0] = 5
>>> gridDrawer(row1, row2, row3)

|5| | |
| | | |
| | | |

【讨论】:

    猜你喜欢
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-09
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 2013-06-17
    相关资源
    最近更新 更多