Python 函数的 return 语句如何将字符串保留在同一行中,如 print(argument, end=)?



我刚从编码船上刚从编码船上,我试图使python函数的返回值全部打印在一行上。我知道使用打印(参数,en =''(,尽管我不能在返回定义功能的返回中包含打印功能。

最终,我试图获取列表中的每个列表的第一个项目,然后在第二个列表中,依此类推,以打印设计为90度。我首先将每个列表在for循环中获取,然后从那里获取每个索引,然后在一秒钟内进行循环打印。

使用我现在拥有的代码,我得到了我需要的结果,但是每行末尾都有"无",因为我在功能中具有打印功能,而不是"返回",所以我可以每个列表在一行上打印每个索引值。我很好奇如何在不使用函数返回中打印函数的最终参数上显示一个线路。我总是很想看到一种更好/更快的方法来实现这一结果。

..OO.OO.. .OOOOOOO. .OOOOOOO. ..OOOOO.. ...OOO... ....O....

谢谢!

grid = [['.', '.', '.', '.', '.', '.',],
        ['.', '0', '0', '.', '.', '.',],
        ['0', '0', '0', '0', '.', '.',],
        ['0', '0', '0', '0', '0', '.',],
        ['.', '0', '0', '0', '0', '0',],
        ['0', '0', '0', '0', '0', '.',],
        ['0', '0', '0', '0', '.', '.',],
        ['.', '0', '0', '.', '.', '.',],
        ['.', '.', '.', '.', '.', '.',]]
xLength = len(grid[0])-1
yLength = len(grid)-1
listX = list(range(0, xLength))
listY = list(range(0, yLength))

def listGrid(y = 0):
    for x in grid:
        print(x[y], end = '')
for num in listX:
    print(listGrid(num))

您需要从函数返回值 - 如果函数不返回任何一个,则隐式返回 None。您的代码在功能中打印"数据",然后通过

打印函数的返回
print(listGrid(num))  # prints None

在外面打印功能的结果,使用end=""是一个选项:

grid = [['.', '.', '.', '.', '.', '.',],
        ['.', '0', '0', '.', '.', '.',],
        ['0', '0', '0', '0', '.', '.',],
        ['0', '0', '0', '0', '0', '.',],
        ['.', '0', '0', '0', '0', '0',],
        ['0', '0', '0', '0', '0', '.',],
        ['0', '0', '0', '0', '.', '.',],
        ['.', '0', '0', '.', '.', '.',],
        ['.', '.', '.', '.', '.', '.',]]
xLength = len(grid[0])  # fix, do not subtract 1 - range is upper border exclusive 
yLength = len(grid)-1
listX = list(range(0, xLength))
listY = list(range(0, yLength))
def listGrid(y = 0):
    return [x[y] for x in grid]  # return a list
for num in listX:
    for r in listGrid(num): 
        print(r, end="")
    print()

或您杠杆zip((从行制作列并打印它们:

# directly operates on your data - you do not need anything of your code beside 
# the grid definition  
for c in zip(*grid):
    print(''.join(c))

输出:

..00.00..
.0000000.
.0000000.
..00000..
...000...
....0....

最新更新