Почему при вводе варианта ответа 3 раза выводится counted и 2 раза Error?

При отдельном тестирование функции все отлично

def valueInList(value, list):
    if value in list:
        print("counted")
        return True
    elif value == "Exit":
        return False
    else:
        print("Error!")
        return False

но в коде она странно себя ведет (counted и Error выводятся несколько раз) Полный код:

# импорт 
from collections import Counter

print("Hello!")
print("Choise your answer!")
print('For stop answering enter "Exit"')

# создание списков
answersList = []
variant = ["Leonardo", "Michelangelo", "Donatello", "Raphael",]

# функция которая находит ключ по значению
def get_key(d, value):
    for k, v in d.items():
        if v == value:
            return k

# проблемная функция
# проверяет наличие ответа в списке 
def valueInList(value, list):
    if value in list:
        print("counted")
        return True
    elif value == "Exit":
        return False
    else:
        print("Error!")
        return False

# функция удаляющая Exit из списка ответов
def popFromList(list, value):
    if value in list:
        list.pop()
        return True
    if not list:
        return False
    else:
        return True   
print(variant)

# цикл который запрашивает ответ, и помещает его в список
while True:
    value = input("Enter your answer:")
    valueInList(value, variant)
    if valueInList(value, variant) == False: 
        break
    if valueInList(value, variant):
        answersList.append(value)

# получаем самый популярный ответ
if popFromList(answersList, "Exit") == True:
    aDict = Counter(answersList)
    keys = list(aDict.keys())
    vocMax = max(aDict.values())
    FinalAnswer = get_key(aDict, vocMax)
    print("Winer is! --!>",FinalAnswer)
else:
    print("I've just found problem in your answer and I've been stoped this program (◕⌓◕;)")    
input()

Ответы (0 шт):