#!/usr/bin/env python # coding: utf-8 # ### Задача 1 # # Напишите функцию get_score(student, hw, exam), которая принимает на вход имя студента (`student`), кортеж, содержащий его оценки за домашние задания (`hw`), а также его оценку за экзамен (`exam`), и выдает строку # # , your final grade is . # # Student — имя студента, grade — его итоговая оценка за курс, являющаяся целым числом. # # Известно, что итоговая оценка по курсу считается так: # # $$\text{Итог} = 0.4 \cdot \text{ДЗ} + 0.6 \cdot \text{экзамен},$$ # # где ДЗ - среднее арифметическое оценок за домашние задания. Итог должен быть округлен до целого числа. # # *Пример:* get_score("Peter", (6, 7, 8, 9, 5, 4), 6) Peter, your final grade is 6. # ### Задача 2 # # Напишите функцию `max_score(filename)`, которая открывает файл `portfolio.txt`, считывает оттуда строки и выдает список, состоящий из имен (имя и фамилия) трех людей с наибольшими баллами за конкурс портфолио. # ### Задача 3 # # Напишите класс User, описывающий пользователей некоторой социальной сети. У каждого пользователя есть имя (атрибут `name`), дата рождения в формате *день.месяц.год* (атрибут `birth_date`), а также список друзей (атрибут `friends`). Имя пользователя задается строкой, дата рождения -- тоже (например, "25.12.1994"), список друзей представляет собой список, состоящий из строк (будем считать, что в списке нет людей с одинаковыми именами). # # Необходимо реализовать следующие методы: # # # * `__init()`: конструктор, принимает на вход `name`, `birth_day` и `friends` # * `add_friend`: добавляет в список друзей пользователя еще одного друга # * `remove_friend`: убирает из списка друзей пользователей одного друга # * `get_age`: возвращает возраст пользователя (в годах) # # Возраст пользователя считается от даты рождения до текущей даты. # ### Задача 4 # # Напишите функцию `get_course_info(course_name)`, которая на вход принимает название курса (строка) и делает следующее: # # Заходит на сайт первой недели школы 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.` # # Собирает со страницы курса следующую информацию: # # * `title` - название курса # * `lecturer` - имя лектора (лекторов) # * `level` - уровень курса (Foundational, Introductory, Advanced) # * `time` - время занятий # * `room` - номер (или буква) аудитории, где проходят занятия # # Создает словарь `course_info` с ключами "title", "lecturer", "level", "level", "time" и "room" и соответствующими значениями (из пункта 2). # # Сохраняет словарь `course_info` как json-строку и записывает результат в файл `course_name.json`, где `course_name` - название курса (Вам потребуется функция `json.dump()`. # ### Задача 5 # # HTML-страница содержит форму, в которую пользователь вводит следующие личные данные: # # * First name - имя # * Last name - фамилия # * Title - обращение (Mr., Mrs. и проч.) # * Year of Birth - год рождения # * Place of Birth - место рождения # # Далее пользователь кликает на одну из кнопок "Generate formal bio" или "Generate informal bio", и на странице появляется небольшой текст с биографией в более формальном или менее формальном стиле. Примеры: # ![formal](formal.png) # ![informal](informal.png) # Ниже представлен код для HTML-страницы. Вам необходимо вписать в него код для создания кнопок "Generate formal bio" и "Generate informal bio", а также код на JavaScript, который при нажатии соответствующей кнопки генерирует более или менее формальный текст биографии. Для выполнения задания используйте сайт http://jsbin.com/. Biography

Enter your personal data

First name:

Last name:

Title:

Year of birth:

Place of birth:

// your code for buttons

Biography