Упражнение по json из книги Эрика Мэтиза

Проблема с упр. 10.12 из книги. 10.11 выполнить получилось, но вот в этом задание - объединить две программы из 10.11 в один файл и, если число уже сохранено, то вывести сообщение об этом ("Я помню это число!"). Проблемы с проверкой на сохранение: в файле все сохраняется в одну строчку и никакой проверки не происходит, 5 раз ввел одно и то же число и вот так это выглядит "1""1""1""1""1". Просто дважды выводится просьба ввести число. Никак не пойму, что упускаю

    import json

def fav_num_writer():
    """Запрашивает любимое число пользователя"""
    fav_num = input('Введите ваше любимое число: ')
    filename = 'text_files/fav_num.json'
    with open(filename, 'a') as f:
        json.dump(fav_num, f)
    return fav_num


def fav_num_reader():
    filename = 'text_files/fav_num.json'
    fav_num = fav_num_writer()
    if fav_num in filename:
        print(f'Я знаю ваше любимое число! Это {fav_num}')
    else:
        fav_num_writer()


fav_num_reader()

Ответы (1 шт):

Автор решения: Valera Strike

Вот как я это записал, я еще новичек, не судите строго, но зато работает! Первый раз если не был создан файл, то просит ввести число, при повторном выполнении программы выдает сохраненное число.

import json

name = 'kol.json'

def plok():
     """Выводит число пользователя из файла"""
try:
 with open (name) as lol:
  suk = json.load (lol)
except FileNotFoundError:
  print ("К сожалению не обнаружено файла с вашим числом :(")
  a = input ("Введите ваше любимое число: ")
  with open (name, 'w') as chel:
    json.dump (a, chel)
else:
  print ("Урааа :-), твое любимое число: " + suk)
→ Ссылка