python_for_analytics
70 строк · 2.1 Кб
1# coding: utf-8
2import requests
3
4def my_sum(x, y):
5return x+y
6
7class Rate:
8def __init__(self, format='value'):
9self.format = format
10
11def exchange_rates(self):
12"""
13Возвращает ответ сервиса с информацией о валютах в виде:
14
15{
16'AMD': {
17'CharCode': 'AMD',
18'ID': 'R01060',
19'Name': 'Армянских драмов',
20'Nominal': 100,
21'NumCode': '051',
22'Previous': 14.103,
23'Value': 14.0879
24},
25...
26}
27"""
28r = requests.get('https://www.cbr-xml-daily.ru/daily_json.js')
29return r.json()['Valute']
30
31def make_format(self, currency):
32"""
33Возвращает информацию о валюте currency в двух вариантах:
34- полная информация о валюте при self.format = 'full':
35Rate('full').make_format('EUR')
36{
37'CharCode': 'EUR',
38'ID': 'R01239',
39'Name': 'Евро',
40'Nominal': 1,
41'NumCode': '978',
42'Previous': 79.6765,
43'Value': 79.4966
44}
45
46Rate('value').make_format('EUR')
4779.4966
48"""
49response = self.exchange_rates()
50
51if currency in response:
52if self.format == 'full':
53return response[currency]
54
55if self.format == 'value':
56return response[currency]['Value']
57
58return 'Error'
59
60def eur(self):
61"""Возвращает курс евро на сегодня в формате self.format"""
62return self.make_format('EUR')
63
64def usd(self):
65"""Возвращает курс доллара на сегодня в формате self.format"""
66return self.make_format('USD')
67
68def AZN(self):
69"""Возвращает курс азербайджанского маната на сегодня в формате self.format"""
70return self.make_format('AZN')