Вывести элементы списка по шаблону

Рейтинг: -2Ответов: 2Опубликовано: 13.05.2023

Имеется исходный список [ [«Алгебра», «5», «4», «5», «4.67»], [«Биология», «5», «4», «4.50»] и т.д ]

Нужно вывести элементы списка по шаблону: <Название предмета>: <Оценки>, <Средний балл>

Ответы

▲ 1
subjects = [["Алгебра", "5", "4", "5", "4.67"], ["Биология", "5", "4", "4.50"]]
for items in subjects: # проходимся по списку
    grades = ' '.join(items[1:-1]) # достаём оценки в строку, делая между ними пробелы
    # если нужно его автоматизировать средний балл, то:
    # average = sum(map(int, grades.split(' ')))/len(list(map(int, grades.split(' '))))
    print(f'{items[0]}: {grades}, {items[-1]}') # 0 элемент - предмет,
    # потом наша строка с оценками,
    # последнее средний балл из списка,
    # но, если нужно автоматически, замените на {average:.2f}
    # запись :.2f говорит о том, что число будет округлено до сотых
▲ 1
subjects = [["Алгебра", "5", "4", "5", "4.67"], ["Биология", "5", "4", "4.50"]]
# 1
for a1, *a2, a3 in subjects:
    print('Название предмета:', a1)
    print('  Оценки:', ', '.join(a2))
    print('  Средний балл:', a3)
    print()
Название предмета: Алгебра
   Оценки: 5,4,5
   Средний балл: 4.67
    
Название предмета: Биология
   Оценки: 5,4
   Средний балл: 4.50
# 2
from tabulate import tabulate

s = []
for a1, *a2, a3 in subjects:
    s.append([a1, ', '.join(a2), a3])
print(tabulate(s, headers=['Название предмета', 'Оценки', 'Средний балл']))
Название предмета    Оценки      Средний балл
-------------------  --------  ---------------
Алгебра              5, 4, 5              4.67
Биология             5, 4                 4.5