Поделитесь своими знаниями, ответьте на вопрос:
Реализуйте класс Table, который хранит целые числа в двумерной таблице. При инициализации Table(rows, cols) экземпляру передаются число строк и столбцов в таблице. Строки и столбцы нумеруются с нуля.table.get_value(row, col) — прочитать значение из ячейки в строке row, столбце col. Если ячейка с индексами row и col не лежит внутри таблицы, нужно вернуть None.table.set_value(row, col, value) — записать число в ячейку строки row, столбца col. Гарантируется, что в тестах будет в запись только в ячейки внутри таблицы.table.n_rows() — вернуть число строк в таблицеtable.n_cols() — вернуть число столбцов в таблицеtable.delete_row(row) — удалить строку с номером rowtable.delete_col(col) — удалить колонку с номером coltable.add_row(row) — добавить в таблицу новую строку с индексом row.Номера строк >= row, должны увеличиться на единицу. Новая строка состоит из нулей.table.add_col(col) — добавить в таблицу новую колонку с индексом col.Номера колонок >= col, должны увеличиться на единицу. Новая колонка состоит из нулей.Каждый тест представляет собой код, в котором будут использоваться ваш класс.Файл c решением не обязательно называть solution.py, он будет переименован автоматически.Тест запускается с вашим классом, а его вывод сравнивается с правильным решением.
ответ: 10 000 100 111 110₂, 20476₈, 213E₁₆.
Для того, чтобы получить число в системе счисления n, нужно делить данное число на n, записывая остатки, пока у нас не останется число меньше n (последнее частное тоже нужно записать). Покажем на примере.
8510/2 = 4255 ост. 0
4255/2 = 2127 1
2127/2 = 1063 1
1063/2 = 531 1
531/2 = 265 1
265/2 = 132 1
132/2 = 66 0
66/2 = 33 0
33/2 = 16 1
16/2 = 8 0
8/2 = 4 0
4/2 = 2 0
2/2 = 1 0 1
Итак, в двоичной системе мы получили (пишем в обратном порядке): 10 000 100 111 110.
В восьмиричной мы получим (попробуйте сами посчитать): 20 476.
А вот, что будет с шестнадцатиричной (вместо 10,11,...,15 там A, B, C, D, E, F ):
8510/16 = 531 ост. 14 т. е. E
531/16 = 33 3 3
33/16 = 2 1 1 2
Таким образом у нас получится 213E.
Проверить все ты можешь по этому калькулятору:
https://programforyou.ru/calculators/number-systems