{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 1\n", "\n", "Напишите функцию get_score(student, hw, exam), которая принимает на вход имя студента (`student`), кортеж, содержащий его оценки за домашние задания (`hw`), а также его оценку за экзамен (`exam`), и выдает строку \n", "\n", " , your final grade is . \n", "\n", "Student — имя студента, grade — его итоговая оценка за курс, являющаяся целым числом.\n", "\n", "Известно, что итоговая оценка по курсу считается так:\n", "\n", "$$\\text{Итог} = 0.4 \\cdot \\text{ДЗ} + 0.6 \\cdot \\text{экзамен},$$\n", " \n", "где ДЗ - среднее арифметическое оценок за домашние задания. Итог должен быть округлен до целого числа.\n", "\n", "*Пример:*" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "get_score(\"Peter\", (6, 7, 8, 9, 5, 4), 6)\n", "\n", "Peter, your final grade is 6." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 2\n", "\n", "Напишите функцию `max_score(filename)`, которая открывает файл `portfolio.txt`, считывает оттуда строки и выдает список, состоящий из имен (имя и фамилия) трех людей с наибольшими баллами за конкурс портфолио. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 3\n", "\n", "Напишите класс User, описывающий пользователей некоторой социальной сети. У каждого пользователя есть имя (атрибут `name`), дата рождения в формате *день.месяц.год* (атрибут `birth_date`), а также список друзей (атрибут `friends`). Имя пользователя задается строкой, дата рождения -- тоже (например, \"25.12.1994\"), список друзей представляет собой список, состоящий из строк (будем считать, что в списке нет людей с одинаковыми именами).\n", "\n", "Необходимо реализовать следующие методы:\n", "\n", "\n", "* `__init()`: конструктор, принимает на вход `name`, `birth_day` и `friends`\n", "* `add_friend`: добавляет в список друзей пользователя еще одного друга\n", "* `remove_friend`: убирает из списка друзей пользователей одного друга\n", "* `get_age`: возвращает возраст пользователя (в годах)\n", "\n", "Возраст пользователя считается от даты рождения до текущей даты. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 4\n", "\n", "Напишите функцию `get_course_info(course_name)`, которая на вход принимает название курса (строка) и делает следующее:\n", "\n", "Заходит на сайт первой недели школы European Summer School in Language, Logic and Information (https://www.irit.fr/esslli2017/courses/for_week/1). Кликает по ссылке, соответствующей указанному названию курса `course_name`, и открывает нужную страницу. Если указанного курса нет, выдает строку `No course found. Please, check your spelling.`\n", "\n", "Собирает со страницы курса следующую информацию: \n", "\n", "* `title` - название курса\n", "* `lecturer` - имя лектора (лекторов)\n", "* `level` - уровень курса (Foundational, Introductory, Advanced)\n", "* `time` - время занятий\n", "* `room` - номер (или буква) аудитории, где проходят занятия \n", "\n", "Создает словарь `course_info` с ключами \"title\", \"lecturer\", \"level\", \"level\", \"time\" и \"room\" и соответствующими значениями (из пункта 2).\n", "\n", "Сохраняет словарь `course_info` как json-строку и записывает результат в файл `course_name.json`, где `course_name` - название курса (Вам потребуется функция `json.dump()`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 5\n", "\n", "HTML-страница содержит форму, в которую пользователь вводит следующие личные данные:\n", "\n", "* First name - имя\n", "* Last name - фамилия\n", "* Title - обращение (Mr., Mrs. и проч.)\n", "* Year of Birth - год рождения\n", "* Place of Birth - место рождения\n", "\n", "Далее пользователь кликает на одну из кнопок \"Generate formal bio\" или \"Generate informal bio\", и на странице появляется небольшой текст с биографией в более формальном или менее формальном стиле. Примеры:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![formal](formal.png)\n", "![informal](informal.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ниже представлен код для HTML-страницы. Вам необходимо вписать в него код для создания кнопок \"Generate formal bio\" и \"Generate informal bio\", а также код на JavaScript, который при нажатии соответствующей кнопки генерирует более или менее формальный текст биографии. Для выполнения задания используйте сайт http://jsbin.com/." ] }, { "cell_type": "raw", "metadata": {}, "source": [ "\n", "\n", " \n", " \n", " \n", " Biography\n", " \n", " \n", " \n", " \n", "

Enter your personal data

\n", "\n", "
\n", "\n", "

First name:

\n", "

Last name:

\n", "

Title:

\n", "

Year of birth:

\n", "

Place of birth:

\n", "\n", "
\n", "\n", "

\n", " // your code for buttons\n", "

\n", "\n", "

Biography

\n", "\n", "

\n", "\n", " \n", "\n", " \n", "" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.1+" } }, "nbformat": 4, "nbformat_minor": 2 }