1. Главная
  2. Библиотека
  3. Программирование
  4. Напишите программу, которая: 1. Считывает список пользователей из файла users.json. Каждый пользователь имеет поля username...

Напишите программу, которая: 1. Считывает список пользователей из файла users.json. Каждый пользователь имеет поля username, email и age. 2. Добавляет в этот список нового пользователя с полями username, email и age, которые вводятся пользователем. 3.

«Напишите программу, которая: 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: # Пытаемся загрузить список пользователей из файла. ...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет