Решение модуля 9.3 Инди-курс программирования на Python

Модуль 9.3 (Работаем с JSON в Python. Парсинг JSON, сохраняем JSON в файл). JSON – это текстовый формат обмена данными. На текущий день это самый популярный формат обмена данными. 

Процесс преобразования значения словаря в строку формата JSON называется 

сериализация

Процесс преобразования строки формата JSON в словарь называется 

десериализация

Допишите название модуля, который позволяет работать с форматом JSON

import json

В JSON строке встретилось значение null

{
  "name": "Jonny",
  "surname": null
}

В какой питовский объект будет сконвертировано значение null при десерилизации?

None

В JSON строке встретилось значение true

{
  "name": "Jonny",
  "have_driver_license": true
}

В какой питовский объект будет сконвертировано значение true при десерилизации?

True

В JSON строке встретилось значение false

{
  "name": "Jonny",
  "have_driver_license": false
}

В какой питовский объект будет сконвертировано значение false при десерилизации?

False

Ваша задача выполнить сериализацию словаря из данного задания и сохранить полученную json-строку в переменную json_data

В качестве ответа распечатайте значение переменной json_data

import json                      # импортируем модуль JSON

alphabet = {}                    # создаем пустой словарь для добавления английского алфавита
for i in range(26):              # циклом мы в словарь добавляем элементы словаря: Ключ - английская буква, значение - её порядковый номер
    alphabet[chr(97+i)] = i+1    # английскую букву мы получаем из таблицы аски по её id - chr(id) - возвращает букву по id в таблице аски

json_data = json.dumps(alphabet) # преобразуем из словаря в объект json
print(json_data)                 # выводим полученный объект

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

5 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
liony
liony
1 год назад

import json

json_string = »’
{
   «customers»: [
       {
           «userid»: 123456,
           «username»: «Allie Hsu»,
           «phone»: [
               «000-001-0002»,
               «000-002-0002»
           ],
           «is_vip»: true
       },
       {
           «userid»: 223678,
           «username»: «Donald Duck»,
           «phone»: null,
           «is_vip»: false
       }
   ]
}
»’

data = json.loads(json_string)
print(data[‘customers’][0][‘username’])

liony
liony
1 год назад
import json
import operator


people_list = json.loads(people)
people_list.sort(key=operator.itemgetter('age', 'name'))

for person in people_list:
    print("{}, {}, {}".format(person['name'], person['country'], person['age']))
liony
liony
1 год назад

В этой задаче вам необходимо раскодировать текст, находящийся в данном текстовом файле

import json

# Открыть файл Alphabet.json и загрузить его содержимое в формате словаря Python
with open(‘Alphabet.json’) as f:
   alphabet = json.load(f)

# Открыть файл Abracadabra__1_.txt и прочитать его содержимое
with open(‘Abracadabra__1_.txt’) as f:
   text = f.read()

# Декодировать текст, заменяя каждую букву, если она есть в словаре
decoded_text = »
for char in text:
   if char in alphabet:
       decoded_text += alphabet[char]
   else:
       decoded_text += char

# Сохранить измененный текст в новом файле
with open(‘decoded_text.txt’, ‘w’) as f:
   f.write(decoded_text)

# Вывести декодированный текст на экран
print(decoded_text)

The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one— and preferably only one —obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea — let’s do more of those!

liony
liony
1 год назад

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

9 10

import json

with open(‘group_people.json’, ‘r’) as f:
   data = json.load(f)

max_group_id = None
max_female_count = 0

for group in data:
   female_count = 0
   for person in group[‘people’]:
       if person[‘gender’] == ‘Female’ and person[‘year’] > 1977:
           female_count += 1
   if female_count > max_female_count:
       max_group_id = group[‘id_group’]
       max_female_count = female_count

print(max_group_id, max_female_count)

liony
liony
1 год назад

Анализ продаж

import json

with open(‘manager_sales.json’, ‘r’) as f:
   data = json.load(f)

# Создаем словарь, чтобы хранить суммы продаж для каждого менеджера
sales_by_manager = {}

# Проходимся по каждому элементу в списке данных
for item in data:
   manager = item[‘manager’]
   cars = item[‘cars’]

   # Считаем сумму продаж для данного менеджера
   manager_sales = sum(car[‘price’] for car in cars)

   # Обновляем словарь продаж для данного менеджера
   sales_by_manager[f»{manager[‘first_name’]} {manager[‘last_name’]}»] = manager_sales

# Находим менеджера с максимальной суммой продаж
best_manager = max(sales_by_manager, key=sales_by_manager.get)

# Выводим результат
print(best_manager, sales_by_manager[best_manager])

Sharity Devonside 103690

5
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x