Как распечатать отдельные слова из списка в файле в случайном порядке - PullRequest
0 голосов
/ 05 июня 2019
def song():
    print("Wellcome The Song Game")
    newfile = open("songs.txt","r")
    sangg_2D = eval(newfile.read())
    newfile.close()
    sang2 = sangg_2D[0:11]
    print("The Song Name Is", sang2)
    sangg3 = input("Name The Song")
    found = False
    for count in range(len(sangg_2D)):
        if sangg3 == sangg_2D[count][0]:
            score = score + 2
            found = True
            #score = score+2
            print("welldone You Got The Answer Correct On Your First Try")
        else:
            if found==False:
                print("Wrong Answer Try Again")
                song()
song()

он печатает каждое слово в моем файле, и я хочу, чтобы он печатал только исполнителя песни и немного имени

Название песни: [['j.cole', 'MIDDLE CHILD'], ['Mustard', 'Pure Вода », [« Халид »,« Разговор »], [« Карди Б »,« Пожалуйста, мне »],« Бейонсе », «Прежде чем я отпущу», [«Нав», «Цены на моей голове»], [«Крис Браун», «Вернуться к любви»], [«Французская Монтана», «Слайд»], [«Джастин Бейбер», «Я Dont Care '], [' Ari Lennox ',' Взбитые сливки ']]

1 Ответ

0 голосов
/ 07 июня 2019

Исходя из того, что я могу понять, исходя из вашего вопроса и вашего исходного кода, вы хотите взять название песни и попросить пользователя найти правильного исполнителя для этого названия песни.Если это так, то вы можете значительно упростить свой код:

import random

def song():
    score = 0
    print("Wellcome The Song Game")
    newfile = open("songs.txt","r")
    sangg_2D = eval(newfile.read())
    newfile.close()
    randomSong = random.randint(0,len(sangg_2D)-1)
    found = False
    while not found:
        sang2 = sangg_2D[randomSong][1]
        print("The Song Name Is", sang2)
        sangg3 = input("Name The Artist")
        if sangg3 == sangg_2D[randomSong][0]:
            score = score + 2
            found = True
            print("welldone You Got The Answer Correct On Your First Try")
            break
        else:
            print("Wrong Answer Try Again")
song()

Сначала вы читаете содержимое файла, чтобы узнать всех исполнителей и их песни.Лучше использовать ast.literal_eval из ast модуля, чем eval, кстати.Затем вы выбираете случайную песню из списка и предлагаете пользователю угадать правильного исполнителя.Если пользователь находит исполнителей, то ваша программа завершена, иначе он снова просит пользователя угадать исполнителя.Вам также необходимо исправить деталь с score с первой попытки, потому что нет проверки, что пользователь нашел ее с первой попытки.

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