Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Рандом слов в python

qww qw Ученик (98), на голосовании 2 месяца назад
lst = [hip hop, Rock, jazz]
sui = "".join([str(i) for i in lst])
suiMusic = random.choices(sui)
c = ("Подходящая музыка на сегодня: ") + suiMusic
print(c)
Как сделать так, чтобы случайный жанр музыки из списка выводился в Print?
Что я делаю не так? Намучился с этим рандомом. Я начинающий, много не понимаю.
Голосование за лучший ответ
Михаил Бурлуцкий Ученик (106) 3 месяца назад
Ты на правильном пути, но есть несколько ошибок в коде, которые нужно исправить, чтобы получить случайный жанр из списка и вывести его. Давай разберемся, как это сделать.

Список жанров: Ты используешь необъявленные переменные в списке lst. Нужно сделать строки (жанры) в кавычках, чтобы они были строками, а не переменными.

Использование random.choices: Функция random.choices возвращает список с одним элементом (если не указано иное). Если ты хочешь выбрать только один элемент, лучше использовать random.choice, так как она возвращает именно один элемент (строку).

Конкатенация строк: Ты пытаешься соединить строку с элементом, который вернул random.choices. Для этого нужно просто использовать random.choice без лишней конкатенации.
qww qwУченик (98) 3 месяца назад
Спасибо
Михаил БурлуцкийУченик (106) 3 месяца назад
Пожалуйста
❄️ Гуру (2970) 3 месяца назад
Тебе нужно использовать не "random.choices()", а "random.choice()" без s. Также не нужно объединять элементы списка в строку.


 import random 

lst = ["hip hop", "Rock", "jazz"]
suiMusic = random.choice(lst)
c = "Подходящая музыка на сегодня: " + suiMusic
print(c)
попробуй это :)
qww qwУченик (98) 3 месяца назад
СПАСИБО!!!!
❄️ Гуру (2970) qww qw, всегда рад помочь
Похожие вопросы