Напишите программу, которая: 1. Считывает список пользователей из файла users.json. Каждый пользователь имеет поля username, email и age. 2. Добавляет в этот список нового пользователя с полями username, email и age, которые вводятся пользователем. 3.
- Программирование
Условие:
Проверить код и исправить если нужно # Домашнее задание
# Задача 1: Логирование данных пользователей
# Описание: Напишите программу, которая:
# 1. Считывает список пользователей из файла users.json. Каждый пользователь имеет поля username, email
# и age.
# 2. Добавляет в этот список нового пользователя с полями username, email и age, которые вводятся
# пользователем.
# 3. Записывает обновлённый список пользователей обратно в файл users.json с форматированием
# (отступами в 4 пробела).
import json
def read_users_json():
try:
with open("users.json", "r", encoding="utf-8") as file:
users = json.load(file)
except FileNotFoundError:
users = []
username = input("Введите имя пользователя: ")
email = input("Введите email: ")
while True:
try:
age = int(input("Введите возраст: "))
break
except ValueError:
print("Возраст должен быть числом. Попробуйте снова.")
new_user = {
"username": username,
"email": email,
"age": age
}
users.append(new_user)
with open("users.json", "w", encoding="utf-8") as file:
json.dump(users, file, indent=4, ensure_ascii=False) #Это нагуглила, когда вводила кириллицей ответы
read_users_json()
Решение:
Ниже представлено решение с пошаговым разбором. В целом, ваш код корректно решает поставленную задачу. Можно сделать небольшие улучшения, например, добавить обработку исключения json.JSONDecodeError на случай, если файл существует, но содержит некорректный JSON. Также можно разделить функционал на несколько функций для лучшей читаемости. Ниже приведён обновлённый вариант кода с комментариями: ──────────────────────────── Код: import json def read_users_json(): try: with open(users.json, r, encoding=utf-8) as file: # Пытаемся загрузить список пользователей из файла. ...
Похожие задачи
Не нашел нужную задачу?
Воспользуйся поиском
AI помощники
Выбери предмет
- Правоохранительные органы
- Пожарная безопасность
- Парикмахерское искусство
- Природообустройство и водопользование
- Почвоведение
- Приборостроение и оптотехника
- Промышленный маркетинг и менеджмент
- Производственный маркетинг и менеджмент
- Процессы и аппараты
- Программирование
- Право и юриспруденция
- Психология
- Политология
- Педагогика
- Трудовое право
- Теория государства и права (ТГП)
- Таможенное право
- Теория игр
- Теория вероятностей
- Теоретическая механика
- Теория управления
- Технология продовольственных продуктов и товаров
- Технологические машины и оборудование
- Теплоэнергетика и теплотехника
- Туризм
- Товароведение
- Таможенное дело
- Торговое дело
- Теория машин и механизмов
- Транспортные средства