if "like an eggplant"
всегда будет входить в блок, потому что "как баклажан" не фальшивка. Вы должны проверить, что фактическая строка из файла равна строке, которую вы ищете. Так и должно быть if line == "like an eggplant"
.
Кроме того, вы хотите напечатать номер строки. Вы можете использовать enumerate()
, чтобы получить индекс текущей строки, вместо того, чтобы просто печатать саму фактическую строку.
for index, line in enumerate(f):
if line.lower() == "like an eggplant":
print(index)
break
И наконец, вместо жесткого сравнения if line == "like an eggplant":
, онможет быть лучше сделать if "like an eggplant" in line:
. Это вернет true, если строка «как баклажан» находится в строке сценария, даже если есть некоторый окружающий шум. Например, если в сценарии написано «Джина: как баклажан», прямое сравнение вернет false. Проверка, находится ли строка внутри строки, вернула бы True. Это дает вам больше гибкости.