python中带有函数

时间:2017-05-28 17:11:07

标签: python

只是尝试做简单的地图并使用功能包含到地图中的玩家位置,但玩家不会出现(地图为空)

这是我的代码。请帮忙解决。感谢

import random

CELLS = [(0, 0), (1, 0), (2, 0), (3, 0), (4, 0),
         (0, 1), (1, 1), (2, 1), (3, 1), (4, 1),
         (0, 2), (1, 2), (2, 2), (3, 2), (4, 2),
         (0, 3), (1, 3), (2, 3), (3, 3), (4, 3),
         (0, 4), (1, 4), (2, 4), (3, 4), (4, 4)]

def get_locations():

    return random.sample(CELLS, 1)

player = get_locations()

def draw_map(player):

    print(" _" * 5)
    tile = "|{}"


    for cell in CELLS:
        x, y = cell

        if x < 4:
            line_end = ""
            if cell == player:
                output = tile.format("X")
            else:
                output = tile.format("_")
        else:
            line_end = "\n"
            if cell == player:
                output = tile.format("X|")
            else:
                output = tile.format("_|")
        print(output, end=line_end)


draw_map(player)

1 个答案:

答案 0 :(得分:2)

您需要random.choice(CELLS),而不是random.sample(CELLS,1)

random.choice(seq)会将seq

中的一个随机元素返回
(1, 3)

random.sample(seq, 1)返回seq的一个子列表,其中包含一个随机元素:

[(1, 3)]

通过这个小改动,你的程序输出:

 _ _ _ _ _
|_|_|_|_|_|
|_|_|_|_|_|
|_|_|_|_|_|
|_|X|_|_|_|
|_|_|_|_|_|