Сравнение введённого слова и слова в файле
Есть файл в нём три слова:
help
hi
hell
введены через ряд каждое.
Когда я сравниваю введённое пользователем слово со словом в файле, то на первом срабатывает, а второе как будто игнорируется
Код python:
with open('yarin.txt', 'r', encoding="utf-8") as r:
x = r.readlines()
n = input("Name:")
i = 0
da = 'yes'
ne = 'no'
read = x[i].strip()
while read != n:
i += 1
if i == 10:
print(ne)
break
else:
pass
else:
if read == n:
print(da)
else:
pass
Ответы (2 шт):
Автор решения: TryHarder
→ Ссылка
Всё что нужно было сделать код понятнее и легче, а так же как не странно просто на словах обьяснить сложно но вот код:
import re
op = len(re.findall(r"[\n']+", open('yarin.txt').read())) #узнаём кол-во строк
op -= 1 #отнимаем 1 так как счёт начинается с 0
with open('yarin.txt', 'r', encoding="utf-8") as r:
x = r.readlines()
name = input('name:')
nick = x[op].strip()
while name != nick:
nick = x[op].strip() #если не указать число останется 2
op -= 1
nick = x[op].strip() #так же как и выше
if op < 0 and name != nick:
print('Неверно введено имя!')
break
else:
print('Имя введено верно!')
Автор решения: VerZsuT
→ Ссылка
Перед циклом ты ставишь read как первую строку, а в самом цикле не обновляешь переменную (i меняется, но read нет)