Так что мой вопрос очень специфичен 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()