【发布时间】:2022-11-15 04:44:29
【问题描述】:
我正在编写一个连接“M”,我想枚举从最大数字(最后一个)开始的行。所以我尝试在我的函数中使用 reverse,但它打印了这个<range_iterator object at 0x0000017B4A49D7F0>。谁能帮帮我?
这是我的代码:
def print_board(self):
# Number the columns separately to keep it cleaner
print(end=' ')
for r in range(BOARD_COLS):
print(f"{r} ", end="")
print("")
# Print the slots of the game board
for r in range(BOARD_ROWS):
backwards = reversed(range(r))
print(backwards, end="")
print('', end="")
for c in range(BOARD_COLS):
print(f" {self.board[r][c]}", end="")
print("")
假设 BOARD_ROWS = 7,我想打印从 7 开始一直到 0 的数字。
【问题讨论】:
-
为什么不在开始时以这种方式生成范围? docs.python.org/3/library/functions.html#func-range
-
reversed返回一个迭代器。如果你想要一个列表,那么你可以使用list(reversed(range(r))创建一个。 -
我不能从一开始就反转它,因为我的程序应该是一个连接 4 类型的游戏,而不是在底部添加块,当我反转范围(BOARD_ROWS)时它会在顶部添加块。
标签: python