Почему правильный ответ печатает и балл = 3, и балл = 1? - PullRequest
0 голосов
/ 29 октября 2019

Когда вы вводите правильный ответ («Плохой парень»), он печатает счет = 3 и счет = 1 одновременно? Как я могу предотвратить это, чтобы после правильного выполнения одной попытки он отображал (и сохранял) счет = 3, а после получения правильного результата со второй попытки он отображал (и сохранял) счет как 1? Кстати, если игрок правильно угадывает в первый раз, он получает 3 очка. Если он ошибается, он пытается снова. Если они правильно угадывают во второй раз, они получают только 1 очко. Если они все еще ошибаются, игра заканчивается. Пожалуйста, объясните, что не так и попробуйте исправить эту проблему, пожалуйста

Вот код, который я использую для этого:

score = 0
print("Round 1:")
with open('songs.txt') as songs_list:
song_name = songs_list.readline()
answer = input("What is the song name? " + song_name)
if answer == "Bad Guy":
    score+=3
    print("Correct! Score = 3")   
else:
    print("Incorrect! Try again.")
    answer = input("What is the song name? " + song_name)
if answer == "Bad Guy":
    score +=1
    print("Correct! Score = 1")
else:
    print("Incorrect! Unlucky, you lost. I hope you enjoyed playing!")
    import sys
    sys.exit()

Ответы [ 2 ]

1 голос
/ 29 октября 2019

Вы должны сделать отступ для второго набора операторов if-else. Это означает, что второй набор произойдет, только если первый ответ неверен.

score = 0
print("Round 1:")
with open('songs.txt') as songs_list:
song_name = songs_list.readline()
answer = input("What is the song name? " + song_name)
if answer == "Bad Guy":
    score+=3
    print("Correct! Score = 3")   
else:
    print("Incorrect! Try again.")
    answer = input("What is the song name? " + song_name)
    if answer == "Bad Guy":
        score +=1
        print("Correct! Score = 1")
    else:
        print("Incorrect! Unlucky, you lost. I hope you enjoyed playing!")
        import sys
        sys.exit()
0 голосов
/ 29 октября 2019

Ваша самая непосредственная проблема заключается в том, что вы никогда не печатаете score. Ваши единственные отчеты для пользователя - это буквальные строки Score = 3 и Score = 1. Вам понадобится что-то вроде

print("you got 3 more points; new score =", score)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...