значения файла не складываются - PullRequest
0 голосов
/ 19 января 2020

Так что мой вопрос очень специфичен c для моего списка кодов. У меня есть список названий песен и исполнителей, сохраненных в одном и том же файле, и у меня есть программа для получения произвольного названия песни и ее исполнителя, а также для опроса проигрывателя о названии песни на основе исполнителя и первых букв каждого слова в песня.

Я немного смутился, так как мой ценностный вопрос [1] означает, что имя песни не совпадает с ответом, даже если ответ тот же.

Вот мой список песен:

Macklemore
Can't Hold Us
Avicii
The Nights
bbnos
Nursery
Bees Gees
Stayin' Alive
The Animals
The House Of The Rising Sun
Bugzy Malone
Memory Lane
The Score
Stronger
Imagine Dragons
Warriors
Lincoln Park
Numb
Queen
Bohemian Rhapsody

Сюда входит исполнитель, за которым следует название песни.

Моя проблема в том, что когда я вписываю имя песни при запросе, она никогда не принимает его В качестве названия песни ОДНАКО в случае с Bohemian Rhapsody программа распознает название. Это единственная песня, которую он узнает, и я не знаю почему. Пожалуйста, помогите.

Любые ответы с благодарностью.

Вот мой код:


#PREPARATION OF DATA SET

import time,random
gameend = False
score = 0
data = open('MusicQuiz data.txt','r') #opening data set
try:
    cont = data.readlines()
finally:
    data.close() #reading the data under  cont  variable

num = 0
while num < 20:        #combining and sorting the data set into pairs of the author and song title
    cont[num] += cont[(num+1)]
    num += 2
odds = 1
while odds < 11: #Defying all odds (removing excess odds of pairs)
    cont.remove(cont[odds])
    odds += 1


#SETTING UP AUTHENTICATION


username = str(input("What is your name?\n~ ")) #asking for authentication

if username == 'adminpassword':
    print('\n'.join(cont)) #admin check to see the current data set

file = open('MusicQuiz authentication.txt','r')
try:
    contents = file.read() #opening and reading the vaild users file
finally:
    file.close()
if (contents.count(username) >= 1): #checking if the input value is in the data set
    print("\nPassword valid")
else:
    print("\nPassword not valid")
    delay = input("\nQuit?..") #if the username is not in the data set, it quits
    quit()
print("\nWelcome, " +username +".")
t = 1
time.sleep(t)
print("\nQUESTION 1:\n")


#RANDOM SONG & ARTIST SELECTION


while gameend == False:
    random.shuffle(cont)
    Q = cont[0]
    qfile = open('MusicQuiz temp.txt','w')
    try:
        qfile.write(Q)
    finally:
        qfile.close()

    question = []
    songname = []
    contfile = open('MusicQuiz temp.txt', 'r')
    try:
        contents = contfile.readlines()
    finally:
        contfile.close()
    for line in contents:
        question.append(line)
    for c in question[1]:
        if c == c.upper():
            songname.append(c)
        elif c == c.lower():
            songname.append('.')
        elif c == ' ':
            songname.append(' ')
    print(question[0])
    print(''.join(songname))
    response = input("\n\n")
    if response == question[1]:
        score += 3
        print("correct")
    else:
        print("Wrong. Second attempt:")
        response2 = input("")
        if response2 == question[1]:
            score += 1
            print("correct")
        else:
            print("WRONG!")
            print("Your score was " +str(score))
            gameend = True
quit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...