Выполняется условие else после выполнения if. Python
elif command == "find":
title = input("Введите название книги для поиска: ")
sub_string = title
file = open("knigi.xtx", "r")
lines = file.readlines()
for line in lines:
if sub_string in line:
print(line)
else:
print("Такой книги нет")
else:
print("Неизвестняа команда")
выполняется else после if. Может проблема с отступами? Может кто подсказать?
Ответы (1 шт):
Автор решения: mrBars1k
→ Ссылка
У Вас в цикле используется только if, а else находится вне цикла.
Также, цикл будет продолжатся до конца. Если Вам нужно, чтобы после нахождения необходимой книги цикл прерывался, то используйте break.
Если необходимо пройти по списку и только после полного прохода или нахождения нужного значения написать результат поиска, то можно попробовать так:
n = 0
for line in lines:
if sub_string in line:
print(line)
n += 1
break
if n = 0:
print("Такой книги нет.")
100% есть решение удобнее и эффективнее, но это не про меня.