-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
48 lines (32 loc) · 1.46 KB
/
main.py
File metadata and controls
48 lines (32 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import urllib.request
import locale
import lxml.etree as etree
def get_xml(url):
response = urllib.request.urlopen(url)
return response.read()
def num():
num = ''
while (
not num.isdigit()):
num = input("Введите количество норвежских крон для конвертации: ")
if (not num.isdigit()):
print('Программа может работать только с цифровыми значениями')
else:
print("Результаты конвертации:")
num = int(num)
return num
if __name__ == '__main__':
xml = get_xml('http://www.cbr.ru/scripts/XML_daily.asp')
xml_data = etree.fromstring(xml)
huf = xml_data.xpath("/ValCurs/Valute[@ID='R01135']/Value")[0].text
huf_nominal = xml_data.xpath("/ValCurs/Valute[@ID='R01135']/Nominal")[0].text
nok = xml_data.xpath("/ValCurs/Valute[@ID='R01535']/Value")[0].text
nok_nominal = xml_data.xpath("/ValCurs/Valute[@ID='R01535']/Nominal")[0].text
locale.setlocale(locale.LC_ALL, 'ru_RU.UTF-8')
nok_rub = float(locale.atof(nok)) / float(locale.atof(nok_nominal))
huf_rub = float(locale.atof(huf)) / float(locale.atof(huf_nominal))
num = num()
currency_nok = nok_rub * num
currency_huf = currency_nok / huf_rub
print("Норвежские кроны в рублях:", currency_nok)
print("Рубли в венгерских форинтах:",currency_huf)