Как мне сохранить несколько списков в текстовый файл на Python, а затем выбрать один наугад? - PullRequest
0 голосов
/ 08 ноября 2018

Для проекта у меня есть несколько списков песен и исполнителей, и мне нужно сохранить списки в текстовый файл , прежде чем делать что-либо еще. Это мой код:

BTS = ["Idol", "BTS"]
SWIFTY = ["Love Story", "Taylor Swift"]
RUTH = ["Lost Boy", "RuthB"]
ED = ["Perfect", "Ed Sheeran"]
ARIANA = ["No Tears Left To Cry", "Ariana Grande"]
DRAKE = ["In My Feeling", "Drake"]
RICKY = ["La Vida Loca", "Ricky Martin"]
IU = ["BBIBBI", "IU"]
MJACKSON = ["Thriller", "Michael Jackson"]
PSY = ["Gangnam Style", "PSY"]

Как мне сохранить все это в одном текстовом файле? Тогда как мне случайным образом выбрать один из этих списков и только вывести песню или исполнителя , а не оба , поскольку пользователь угадывает другой , например, выводится триллер и вводимые пользователем данные Майкл Джексон

1 Ответ

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

Я предпочитаю использовать словарь Python для хранения ваших данных, а затем сохранить их в формате json . Тогда вы можете прочитать его просто так:

import json
import random


songs = dict((
         ["Idol", "BTS"],
         ["Love Story", "Taylor Swift"],
         ["Lost Boy", "RuthB"],
         ["Perfect", "Ed Sheeran"],
         ["No Tears Left To Cry", "Ariana Grande"],
         ["In My Feeling", "Drake"],
         ["La Vida Loca", "Ricky Martin"],
         ["BBIBBI", "IU"],       
         ["Thriller", "Michael Jackson"],
         ["Gangnam Style", "PSY"] 
         ))


songs = json.dumps(songs)
f = open("dict.json","w")
f.write(songs)
f.close()

f = open("dict.json","r")
songs = f.read()
f.close()

songs = json.loads(songs)

choice = random.choice(list(songs.keys()))
print(choice)
print(songs[choice])

Выход:

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