Python произвольное форматирование модуля - PullRequest
1 голос
/ 16 апреля 2020

У меня есть эта проблема. Я пытаюсь сделать бросок костей в python. Но всякий раз, когда я печатаю его значение, к нему добавляется [""]. Есть ли способ удалить это?

Пример.

import random

choices = ["Heads", "The Coin landed on it's side. It's a draw!", "Tails"]
rancoin = random.choices(choices, weights = [10, 1, 10], k = 1)

print("{}".format(rancoin))

Выходы.

["Головы"], ["Хвосты"] или ["Монета приземлилась сбоку. Это ничья!"]]

Действительно раздражает наличие дополнительных скобок и кавычек, так как я пытаюсь отправить его на текстовый канал.

1 Ответ

1 голос
/ 16 апреля 2020

choices() возвращает список, даже если вы запрашиваете только одно значение. Вы можете просто получить это значение, проиндексировав его:

import random 

choices = ["Heads", "The Coin landed on it's side. It's a draw!", "Tails"] 
rancoin = random.choices(choices, weights = [10, 1, 10], k = 1)

print("{}".format(rancoin[0])) # note the [0] to get the first (and only) item
# Heads

Вы также можете распаковать одно значение для того же эффекта:

print("{}".format(*rancoin))
...