python_for_analytics

Форк
0
70 строк · 2.1 Кб
1
# coding: utf-8
2
import requests
3

4
def my_sum(x, y):
5
    return x+y
6

7
class Rate:
8
    def __init__(self, format='value'):
9
        self.format = format
10
    
11
    def 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
        """
28
        r = requests.get('https://www.cbr-xml-daily.ru/daily_json.js')
29
        return r.json()['Valute']
30
    
31
    def make_format(self, currency):
32
        """
33
        Возвращает информацию о валюте currency в двух вариантах:
34
        - полная информация о валюте при self.format = 'full':
35
        Rate('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
        
46
        Rate('value').make_format('EUR')
47
        79.4966
48
        """
49
        response = self.exchange_rates()
50
        
51
        if currency in response:
52
            if self.format == 'full':
53
                return response[currency]
54
            
55
            if self.format == 'value':
56
                return response[currency]['Value']
57
        
58
        return 'Error'
59
    
60
    def eur(self):
61
        """Возвращает курс евро на сегодня в формате self.format"""
62
        return self.make_format('EUR')
63
    
64
    def usd(self):
65
        """Возвращает курс доллара на сегодня в формате self.format"""
66
        return self.make_format('USD')
67

68
    def AZN(self):
69
        """Возвращает курс азербайджанского маната на сегодня в формате self.format"""
70
        return self.make_format('AZN')

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.