При работе с API (application programming interface) сайта биржи по криптовалюте вы получили вот такие данные в виде словаря (см. main.py)
И теперь вам этим данные предстоит немного обработать.
Напишите программу, которая выполняет следующий алгоритм действий:
- Вывести списки ключей и значений словаря
- В “ETH” добавить ключ “total_diff” со значением 100
- Внутри “fst_token_info” значение ключа “name” поменять с “fdf” на “doge”
- Удалить “total_out” из tokens и присвоить его значение в “total_out” внутри “ETH”
- Внутри «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
48200login-checkМодуль 19. Задача 3. Криптовалюта
