Помогите пожалуйста решить проблему.
У меня есть словарь, где ключ - это название фильма и его год, а значение - краткое описание. В этом словаре находится около 35к ключей и значений.
Мне нужно было написать код, который берет рандомный ключ из словаря и его значение и предлагает пользователю, если пользователь отметит его как "Смотрел", название фильма(ключ), записывается в текстовый файл, а из словаря удаляется, если пользователь отмети его как "Не смотрел", никаких изменений не вносится.
Суть проблемы в том, что данные не сохраняются после завершении цикла, отмеченные фильмы "Смотрел", из словаря не удаляются, а если запустить цикл повторно, файл в котором хранятся просмотренные фильмы перезаписывается .
import random
from all_films import films
def gofilm():
with open('iwatch.txt', 'w', encoding='utf-8') as f:
num = 1
while num == 1:
random_film_key = random.choice(list(films))
film_value = films.get(random_film_key).replace(',', '\n')
print("Фильм: " + random_film_key, "Описание фильма: " + film_value, sep='\n')
question = int(input("Ты смотрел этот фильм? да - 1, нет - 0 \n"))
if question == 1:
f.write(random_film_key + '\n')
del films[random_film_key]
elif question == 0:
continue
else:
num = 0
gofilm()