Задать вопрос

Что я делаю не так с этим циклом?

Есть такая функция
def checkId(who,where):
    status=0
    file = open(where,'r')
    for line in file:
        if line == who:
            status=1
            file.close()
            break

    return bool(status), line

print(checkId(5,'test.txt'))


на вход функции передается значение, которое мы хотим найти, и файл в котором она должна его найти.
Если она его нашла возвращает true если нет false.
Как я предполагал в цикле for как только мы встречаем нужное значение, брикаем цикл и всё.
однако получается, что функция всегда доходит до конца файла и всегда возвращает false.
Подскажите что я тут сделал не так?
  • Вопрос задан
  • 222 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
viaskit
@viaskit
Привет, возможно проблема с типами 5 == '5' False, приведи who внутри функции к строке
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Grol
@Grol Автор вопроса
ЯДРЕНЫ ПАСАТИЖИ!!!!
сделал int(line), всё заработало.
Огромное спасибо.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы