1. Главная
  2. Библиотека
  3. Программирование
  4. Проверить код и исправить если нужно # Домашнее задание...
Решение задачи

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

  • Программирование

Условие:

Проверить код и исправить если нужно # Домашнее задание

Задача 1: Логирование данных пользователей

Описание: Напишите программу, которая:

1. Считывает список пользователей из файла users.json. Каждый пользователь имеет поля username, email

и age.

2. Добавляет в этот список нового пользователя с полями username, email и age, которые вводятся

пользователем.

3. Записывает обновлённый список пользователей обратно в файл users.json с форматированием

(отступами в 4 пробела).


import json

def readusersjson():

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("Возраст должен быть числом. Попробуйте снова.")

newuser = {
"username": username,
"email": email,
"age": age
}

users.append(newuser)

with open("users.json", "w", encoding="utf-8") as file:
json.dump(users, file, indent=4, ensureascii=False) #Это нагуглила, когда вводила кириллицей ответы

readusersjson()

Решение:

Ниже представлено решение с пошаговым разбором. В целом, ваш код корректно решает поставленную задачу. Можно сделать небольшие улучшения, например, добавить обработку исключения json.JSONDecodeError на случай, если файл существует, но содержит некорректный JSON. Также можно разделить функционал на несколько функций для лучшей читаемости. Ниже приведён обновлённый вариант кода с комментариями: ──────────────────────────── Код: import json def readusersjson(): try: with open(users.json, r, encoding=utf-8) as file: # Пытаемся загрузить список пользователей из файла. users = json.load(file)...

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

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

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