bat_av
def print_top5_by_column у нас уже есть print
как раз в этой функции print не нужен,а нужно вернуть результат как в функции def filter_after(data, year_threshold):
а выводить таблицу на экран функцией def print_table(data):
bat_av
def print_top5_by_column у нас уже есть print
bat_avДа код просто плохо спроектирован.
Поясните пожалуйста простыми словами кто как сможет если в верхнем def print_top5_by_column у нас уже есть print, то зачем нижний кусок кода
>>> def get_top_n(data, column, number): ... return sorted(data, key=lambda i: i[column - 1])[:number] ... >>> def print_data(data): ... header = (' {:^10} | {:^10} | {:^10} ' ... '| {:^10} | {:^10}'.format( ... 'a', 'b', 'c', 'd', 'e')) ... splitter = '-' * len(header) ... print(header) ... print(splitter) ... for row in data: ... text = (' {:>10} | {:>10} | {:>10} ' ... '| {:>10} | {:>10}'.format( ... row[0], row[1], row[2], row[3], row[4])) ... print(text) ... >>> def print_data_view_abe(data): ... header = ' {:^10} | {:^10} | {:^10} '.format('a', 'b', 'e') ... splitter = '-' * len(header) ... print(header) ... print(splitter) ... for row in data: ... text = ' {:>10} | {:>10} | {:>10}'.format(row[0], row[1], row[4]) ... print(text) ... >>> data = [['a1', 'b2', 'c3', 'd4', 'e5'], ... ['a2', 'b3', 'c4', 'd5', 'e1'], ... ['a3', 'b4', 'c5', 'd1', 'e2'], ... ['a4', 'b5', 'c1', 'd2', 'e3'], ... ['a5', 'b1', 'c2', 'd3', 'e4']] >>> >>> # Выводим всю таблицу ... print_data(data) a | b | c | d | e --------------------------------------------------------------- a1 | b2 | c3 | d4 | e5 a2 | b3 | c4 | d5 | e1 a3 | b4 | c5 | d1 | e2 a4 | b5 | c1 | d2 | e3 a5 | b1 | c2 | d3 | e4 >>> >>> # Выводим три строки таблицы ... print_data(data[:3]) a | b | c | d | e --------------------------------------------------------------- a1 | b2 | c3 | d4 | e5 a2 | b3 | c4 | d5 | e1 a3 | b4 | c5 | d1 | e2 >>> >>> # Выводим представление из трёх колонок ... # Сортируем строки по первой колонке "a" ... # Берём три строки сверху ... print_data_view_abe(get_top_n(data, 1, 3)) a | b | e -------------------------------------- a1 | b2 | e5 a2 | b3 | e1 a3 | b4 | e2 >>> >>> # Выводим представление из трёх колонок ... # Сортируем строки по пятой колонке "e" ... # Берём четыре строки сверху ... print_data_view_abe(get_top_n(data, 5, 4)) a | b | e -------------------------------------- a2 | b3 | e1 a3 | b4 | e2 a4 | b5 | e3 a5 | b1 | e4 >>>