Инициализация и отображение сетки - python - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь создать игру, похожую на линкор, и мне трудно понять, как инициализировать доску, когда каждая ячейка начинается с буквы «О» и отображается для пользователя.Требование к функции player_board () состоит в том, что она должна принимать сетку, представляющую игровое поле игрока в качестве аргумента, и выводить ее на экран пользователя.Это часть моего кода, с которой я борюсь.Я также не уверен, почему он продолжает печатать лишнее «О» в конце.Любая помощь или отзывы будут оценены!

import random
sizeof_grid = 9
chance = 10
def mines():
    grid = [{("M" if random.randint(0, chance) == 0 else " ") for i in 
range(sizeof_grid)} for i in range(sizeof_grid)]
    return grid

def initialize_board():
    start_board=[["O" for i in range(sizeof_grid)] for i in range(sizeof_grid)]
    return start_board

def players_board(): 
    for r in initialize_board(): 
        for c in r:
            print (c, end="") 
        print()
    return c
print(players_board())

1 Ответ

0 голосов
/ 28 ноября 2018

Вы получаете дополнительное "O: из-за последней строки кода. Вы вызываете функцию с помощью print (Players_board), а в самой функции вы возвращаете c (который имеет значение один" O "). Это означает, что выраспечатайте возвращаемое значение функции, которое равно «O».

Вы можете выполнить функцию с Players_board () и удалить print ().

Также вы можете удалить возврат c внижняя часть функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...