-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtask36.py
33 lines (30 loc) · 1.69 KB
/
task36.py
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
'''Задача 36: Напишите функцию print_operation_table(operation, num_rows=6, num_columns=6), которая принимает
в качестве аргумента функцию, вычисляющую элемент по номеру строки и столбца. Аргументы num_rows и num_columns
указывают число строк и столбцов таблицы, которые должны быть распечатаны. Нумерация строк и столбцов идет
с единицы (подумайте, почему не с нуля). Примечание: бинарной операцией называется любая операция, у которой
ровно два аргумента, как, например, у операции умножения.
Пример:
Ввод: print_operation_table(lambda x, y: x * y)
Вывод:
1 2 3 4 5 6
2 4 6 8 10 12
3 6 9 12 15 18
4 8 12 16 20 24
5 10 15 20 25 30
6 12 18 24 30 36'''
def print_operation_table(equation, num_rows=6, num_columns=6):
for i in range(1, num_rows + 1):
for j in range(1, num_columns + 1):
print(equation(i, j), end='\t')
print()
operator = input('Введите оператор функции (сумма - "+", вычитание - "-", умножение - "*", деление - "/"): ')
if operator == '*':
print_operation_table(lambda x, y: x * y)
elif operator == '/':
print_operation_table(lambda x, y: round(x / y, 2))
elif operator == '+':
print_operation_table(lambda x, y: x + y)
elif operator == '-':
print_operation_table(lambda x, y: x - y)
else:
print('Введен неправильный оператор')