Вывести элементы списка по шаблону
Имеется исходный список [ [«Алгебра», «5», «4», «5», «4.67»], [«Биология», «5», «4», «4.50»] и т.д ]
Нужно вывести элементы списка по шаблону: <Название предмета>: <Оценки>, <Средний балл>
Ответы (2 шт):
Автор решения: Иван Ипатов
→ Ссылка
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 говорит о том, что число будет округлено до сотых
Автор решения: Сергей Ш
→ Ссылка
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