From 04468697603aeebc55ccad7959acf3da22f64c1b Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 23 Dec 2019 23:18:51 +0200 Subject: [PATCH] =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D0=B0=20=D1=80=D0=BE=D0=B1=D0=BE=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lashtabegav/second/task1.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 lashtabegav/second/task1.py diff --git a/lashtabegav/second/task1.py b/lashtabegav/second/task1.py new file mode 100644 index 0000000..4bd1eae --- /dev/null +++ b/lashtabegav/second/task1.py @@ -0,0 +1,26 @@ +""" +Використовуючи регулярні вирази, для поданого +нижче тексту замініть кожне число на його шіснадцяткове представлення. +Виведіть результат. +""" +import re + +def read(q): + x=input(q) + while not re.match(r'(?:[0]\.\d+)|(?:[1-9]\d*(?:\.\d+)?)', x): + x= input(q) + return float(x) + +def convert_base(num, to_base=10, from_base=10): + if isinsance(num, str): + n = int(num, from_base) + else: + n=int(num) + alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' + if n < to_base: + return alphabet[n] + else: + return convert_base(n // to_base, to_base) + alphabet[n % to_base] + +number = read('Введіть число: ') +convert_base(number, to_base=16, from_base=10) \ No newline at end of file