Код: Выделить всё
import json
from health import Health
def save_json(barbie: list[Health]):
try:
with open ('health_records.json', 'w') as json_file:
data = []
for b in barbie:
data.append( {
"name": b.name,
"weight_kg": b.weight_kg,
"height_m": b.height_m,
"bmi": b.bmi
})
json.dump(data, json_file, indent=2)
except FileNotFoundError:
print("Error, file not found")
health50 = Health("Barbie", 50, 180)
healthlist = [health50]
save_json(health50)
def get_statistics(filename: str = "health_records.json") -> dict:
barbie = {"Total_records": 1, "avg_bmi": 1.34, "most_common_category": "underweight", "category_distribution": }
"Ядро — сохранение JSON
- Сохраняет список объектов Health в health_records.json Сохраняет: имя, вес_кг, высоту_м, вычисляемый_bmi для каждой записи. Использует читаемое форматирование JSON ().
Код: Выделить всё
indent=2 - Загружает записи о состоянии здоровья из health_records.json обратно в объекты Health. Возвращает пустой список, если файл не существует. Грамотно обрабатывает FileNotFoundError.
- Возвращает: total_records (int), avg_bmi (с плавающей запятой, 2 десятичных знака), Most_common_category (str), Category_distribution (определение счетчиков по категориям)."
Код: Выделить всё
get_statistics(filename: str = "health_records.json") -> dict
Подробнее: https://stackoverflow.com/questions/799 ... count-json