В настоящее время я сталкиваюсь с проблемой попытки получить что-то повторить. Код ниже для игры, где пользователь должен найти сундуки с сокровищами в сетке (например, боевые корабли). Код помещает случайный сундук с сокровищами в сетке и пользователь должен его найти. (Они попадают под именем переменной treasure_row = random_row(board).......treasure_col = random_col(board)
), однако я хотел бы, так что это больше, чем просто сундук с сокровищами, который помещен в сетке (например 10 или 20)Повторение чего-то в python
Как бы я это сделать?
from random import randint
board = []
for x in range(8):
board.append(["•"] * 8)
def print_board(board):
for row in board:
print (" ".join(row))
print ("You have chosen the option to play the game")
print_board(board)
def random_row(board):
return randint(1, len(board) - 1)
def random_col(board):
return randint(1, len(board[0]) - 1)
treasure_row = random_row(board)
treasure_col = random_col(board)
turn = 0
for turn in range(64):
turn = turn + 1
guess_row = int(input("Guess Row:"))
guess_col = int(input("Guess Col:"))
if guess_row == treasure_row and guess_col == treasure_col:
print ("Congratulations! you have found a treasure chest!")
break
else:
if (guess_row>8) or (guess_col>8):
print ("Sorry, that isn't on the grid.")
elif(board[guess_row][guess_col] == "X"):
print ("You guessed that one already.")
else:
if turn == 64:
print ("Game Over")
else:
print ("Sorry there is no treasure here!")
board[guess_row][guess_col] = "X"
print ("Turn", turn + 1)
# Print (turn + 1) here!
print_board(board)
Незначительные проблемы с отступом здесь, не могли бы вы исправить их, чтобы мы не нарушили ваш код? Например, 'def print_board (board):' является очевидным. – Torxed
Вы можете создать список кортежей '(row, col)', а затем использовать 'random.sample', чтобы случайно выбрать из них –
http://stackoverflow.com/help/someone-answers –