Я написал следующий блок кода.Код правильный синтаксис, но есть логическая ошибка, которую я не могу найти.Код принимает имя, автора и назначает значение bool для чтения на основе пользовательского ввода.В секции while есть логическая ошибка, из-за которой интерпретатор никогда не попадает в цикл while, и, следовательно, функция add_book завершается ошибкой, так как read не имеет назначенного значения.
name = input("Title: ").lower()
author = input("Author: ").lower()
has_read = input("Mark as Read (y/n): ").lower()
while has_read not in ['n', 'y']:
if has_read == 'y':
read = True
else:
read = False
add_book(name, author, read)