summaryrefslogtreecommitdiff
path: root/day6
diff options
context:
space:
mode:
Diffstat (limited to 'day6')
-rw-r--r--day6/task1/task1.py5
-rw-r--r--day6/task2/task2.py7
-rw-r--r--day6/task3/task3.py35
3 files changed, 47 insertions, 0 deletions
diff --git a/day6/task1/task1.py b/day6/task1/task1.py
new file mode 100644
index 0000000..af3afbf
--- /dev/null
+++ b/day6/task1/task1.py
@@ -0,0 +1,5 @@
+try:
+ a = int(input())
+ print(100 / a)
+except:
+ print('ошибка ввода')
diff --git a/day6/task2/task2.py b/day6/task2/task2.py
new file mode 100644
index 0000000..a95feae
--- /dev/null
+++ b/day6/task2/task2.py
@@ -0,0 +1,7 @@
+try:
+ a = input()
+ print(100 / int(a))
+except ValueError as e:
+ print(e)
+except ZeroDivisionError as e:
+ print(e)
diff --git a/day6/task3/task3.py b/day6/task3/task3.py
new file mode 100644
index 0000000..5541d36
--- /dev/null
+++ b/day6/task3/task3.py
@@ -0,0 +1,35 @@
+def divide(a, b):
+ if a > b:
+ import hahaha
+
+ # В задании указано, что строго меньше,
+ # поэтому не else, а elif a < b
+ elif a < b:
+ import sys
+
+ # Проверяем остаток
+ div, mod = divmod(a, b)
+ if mod == 0:
+ return div
+ else:
+ raise ArithmeticError(f'{a / b}')
+
+
+try:
+ a = int(input())
+ b = int(input())
+ result = divide(a, b)
+
+except ArithmeticError as e:
+ print(f'Результат деления с остатком: {e}')
+
+# В задании написано отлавливать в отдельных except,
+# но язык позволяет использовать более разумный синтаксис
+except (ValueError, ZeroDivisionError, ModuleNotFoundError) as e:
+ print(e)
+
+except:
+ print('Непредвиденная ошибка')
+
+else:
+ print(f'Поделили успешно, вот вам результат: {result}')