Pythoni c способ создания списка - PullRequest
0 голосов
/ 13 июля 2020

Как мне создать список на pythoni c способом? Я хочу что-то подобное, но "mv_rand" нарушает синтаксис. move = [предыдущее_движение для i в диапазоне (3), mv_rand] (это похоже на ход = [1, 1, 1, 2])

Ответы [ 2 ]

0 голосов
/ 13 июля 2020

Из вашего вопроса видно, что вы пытаетесь, чтобы один вариант previous_move появлялся в 3 раза чаще, чем другой вариант mv_rand. Если это верно, вы можете сделать что-то вроде этого:

    moves = [previous_move] * 3 + [mv_rand]
    chosen_move = random.choice(moves)

Это создаст список moves, который выглядит как moves = [previous_move, previous_move, previous_move, mv_rand]], а затем choice() выберет из него.

если вы используете python 3, вы можете использовать choices(), который позволяет вам присваивать веса выбранным опциям, например:

    moves = [previous_move, mv_rand]
    weights = [0.75, 0.25]
    chosen_move = random.choices(moves, weights=weights)

Это будет весить первый запись в 3 раза больше в выборе selected_move в качестве второго варианта.

Документы для choices() находятся в той же ссылке, что и для choice() выше.

0 голосов
/ 13 июля 2020

Думаю, это могло бы вам помочь.

from random import randint
moves = [randint(1,8) for i in range(3)]
print(moves)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...