Модуль 19. Задача 3. Криптовалюта

При работе с API (application programming interface) сайта биржи по криптовалюте вы получили вот такие данные в виде словаря (см. main.py)

И теперь вам этим данные предстоит немного обработать.
Напишите программу, которая выполняет следующий алгоритм действий:

  1. Вывести списки ключей и значений словаря
  2. В “ETH” добавить ключ “total_diff” со значением 100
  3. Внутри “fst_token_info” значение ключа “name” поменять с “fdf” на “doge”
  4. Удалить “total_out” из tokens и присвоить его значение в “total_out” внутри “ETH”
  5. Внутри «sec_token_info» изменить название ключа “price” на “total_price”.

После выполнения алгоритма выводить результат (словарь) не нужно.

Решение:

data = {
    "address": "0x544444444444",
    "ETH": {
        "balance": 444,
        "total_in": 444,
        "total_out": 4
    },
    "count_txs": 2,
    "tokens": [
        {
            "fst_token_info": {
                "address": "0x44444",
                "name": "fdf",
                "decimals": 0,
                "symbol": "dsfdsf",
                "total_supply": "3228562189",
                "owner": "0x44444",
                "last_updated": 1519022607901,
                "issuances_count": 0,
                "holders_count": 137528,
                "price": False
            },
            "balance": 5000,
            "totalIn": 0,
            "total_out": 0
        },
        {
            "sec_token_info": {
                "address": "0x44444",
                "name": "ggg",
                "decimals": "2",
                "symbol": "fff",
                "total_supply": "250000000000",
                "owner": "0x44444",
                "last_updated": 1520452201,
                "issuances_count": 0,
                "holders_count": 20707,
                "price": False
            },
            "balance": 500,
            "totalIn": 0,
            "total_out": 0
        }
    ]
}

# 1
print('-- 1:')
for i in data:
    print(f'{i}: {data.get(i)}')

# 2
print('\n-- 2:')
data['ETH']['total_diff'] = 100
print(f'ETH: {data["ETH"]}')

# 3
print('\n-- 3:')
data['tokens'][0]['fst_token_info']['name'] = 'doge'
fst_name = data['tokens'][0]['fst_token_info']['name']
print(f'fst_token_info-name: {fst_name}')

# 4
print('\n-- 4:')
total_out = 0
for i_value in data['tokens']:
    # В условии не сказано, поэтому просто суммирую.
    # В данных везде 0, поэтому проверить изменилось ли
    # data['ETH']['total_out'] не возможно.
    total_out += i_value.pop('total_out')
data['ETH']['total_out'] = total_out
print(data['ETH'])

# 5
print('\n-- 5:')
old_price = data['tokens'][1]['sec_token_info'].pop('price')
data['tokens'][1]['sec_token_info']['total_price'] = old_price
print(data['tokens'][1]['sec_token_info']['total_price'])


Как можно отблагодарить:

  • Оформить удобную для вас подписку на Boosty.to
  • Разово поддержать через DonationAlerts
4820login-checkМодуль 19. Задача 3. Криптовалюта

Добавить комментарий