Ввод данных с клавиатуры, запись в xls, расчет и вывод

Axe1St

Добрый день знатоки. С питоном в первые. нужно решить не большую задачку по условию:Консольную программа, которая на вход получает данные о текущих оценках учащегося и на основе этого генерирует XLS-файл со вставленными формулами, которые считают средний балл по всем отметкам. Формат ввода: ИМЯ1 оценка1 оценка2 оценка3 оценка4 ИМЯ2 оценка1 оценка2 Введённая пустая строка означает завершение ввода. На выходе – таблица со всеми ФИО и оценками, а так же с рассчитанными (через формулы Excel) средними баллами.По сути задача простая (если бы ее я делал на С# ), но все же надо на питоне. Времени нет разбираться в языке, сдать надо до НГ Прошу помощи, желательно с комментами для себя без всяких сложностей. Всех с наступающими
2 ответа

Axe1St

Axe1St, можно сделать csv файл с расширением xlsx, это будет просто быстро (но не будет возможность задать стили и т д), можно использовать какую-нибудь из этих библиотек https://pypi.python.org/pypi?%3Aaction=search&term=excel


Axe1St

res = [] # Создаем пустой список
while True: # Цикл
    npt = [i for i in input('Введите данные: ').split()] #Через пробел вводим данные, выход из цикла - пустая строка
    if npt == []: 
        break
    else: #Записываем в наш список данные, имя и оценки
        res.append({
            'name': npt[0],
            'mark': [int(i) for i in npt[1:]]
            })
for row in res: # Далее в конец списка с оценками добавляем средний балл.
    mdl = sum(row['mark']) / len(row['mark'])
    row['mark'].append(mdl)
В итоге на выходе получим список такого вида:
[{'name': 'Имя1', 'mark':[5, 5, 4, 5, 4.75]}, {'name': 'Имя2', 'mark':[4, 4, 3, 4, 3.75]}]
Осталось только записать это все в файл. Даже считать ничего не нужно. Может бывалые на этом форуме подправят мой быдлокод)