Skip to content

Решение заданий по курсу Видеокурс Основы языка Python

Notifications You must be signed in to change notification settings

education-repos/geekbrains-python-intro

Repository files navigation

Geekbrains.ru - Основы языка Python

Решение заданий по курсу Видеокурс Основы языка Python

Урок #1

Задание #1

Запросите от пользователя число, сохраните в переменную, прибавьте к числу 2 и выведите результат на экран.

Если возникла ошибка, прочитайте ее, вспомните урок и постарайтесь устранить ошибку.

Решение

Задание #2

Используя цикл, запрашивайте у пользователя число, пока оно не станет больше 0, но меньше 10.

После того, как пользователь введет корректное число, возведите его в степень 2 и выведите на экран.

Например, пользователь вводит число 123, вы сообщаете ему, что число неверное, и говорите о диапазоне допустимых.

И просите ввести заново.

Допустим, пользователь ввел 2, оно подходит. Возводим его в степень 2 и выводим 4.

Решение

Задание #3

Создайте программу “Медицинская анкета”, где вы запросите у пользователя следующие данные: имя, фамилия, возраст и вес.

Выведите результат согласно которому:

  • Пациент в хорошем состоянии, если ему до 30 лет и вес от 50 и до 120 кг,
  • Пациенту требуется заняться собой, если ему более 30 и вес меньше 50 или больше 120 кг
  • Пациенту требуется врачебный осмотр, если ему более 40 и вес менее 50 или больше 120 кг.
  • Все остальные варианты вы можете обработать на ваш вкус и полет фантазии.

(Формула не соответствует реальной действительности и здесь используется только ради примера)

Примечание: при написание программы обратите внимание на условия в задаче и в вашем коде.

Протестируйте программу несколько раз и убедитесь, что проверки срабатывают верно.

В случае ошибок, уточните условия для той или иной ситуации.

Пример: Вася Пупкин, 29 год, вес 90 - хорошее состояние
Пример: Вася Пупкин, 31 год, вес 121 - следует заняться собой
Пример: Вася Пупкин, 31 год, вес 49 - следует заняться собой
Пример: Вася Пупкин, 41 год, вес 121 - следует обратится к врачу!
Пример: Вася Пупкин, 41 год, вес 49 - следует обратится к врачу!

Решение

Урок #2

Задание #1

Даны два произвольные списка. Удалите из первого списка элементы присутствующие во втором списке.

Примечание. Списки создайте вручную, например так:

my_list_1 = [2, 5, 8, 2, 12, 12, 4]
my_list_2 = [2, 7, 12, 3]

Решение

Задание #2

Дана дата в формате dd.mm.yyyy, например: 02.11.2013.

Ваша задача — вывести дату в текстовом виде, например: второе ноября 2013 года.

Склонением пренебречь (2000 года, 2010 года)

Решение

Задание #3

Дан список заполненный произвольными целыми числами.

Получите новый список, элементами которого будут только уникальные элементы исходного.

Примечание. Списки создайте вручную, например так: my_list_1 = [2, 2, 5, 12, 8, 2, 12]

В этом случае ответ будет: [5, 8]

Решение

Урок #3

Задание #1

В этой игре человек загадывает число, а компьютер пытается его угадать.

В начале игры человек загадывает число от 1 до 100 в уме или записывает его на листок бумаги.

Компьютер начинает его отгадывать предлагая игроку варианты чисел.

Если компьютер угадал число, игрок выбирает “победа”.

Если компьютер назвал число меньше загаданного, игрок должен выбрать “загаданное число больше”.

Если компьютер назвал число больше, игрок должен выбрать “загаданное число меньше”.

Игра продолжается до тех пор пока компьютер не отгадает число.

Решение, где компьютер сам загадывает и сам отгадывает результат

Урок #4

Задание #1

Создайте функцию, принимающую на вход имя, возраст и город проживания человека.

Функция должна возвращать строку вида «Василий, 21 год(а), проживает в городе Москва»

Решение

Задание #2

Создайте функцию, принимающую на вход 3 числа и возвращающую наибольшее из них.

Решение

Задание #3

Давайте опишем пару сущностей player и enemy через словарь, который будет иметь ключи и значения:

  • name - строка полученная от пользователя,
  • health = 100,
  • damage = 50.

Поэкспериментируйте с значениями урона и жизней по желанию.

Теперь надо создать функцию attack(person1, person2).

Примечание: имена аргументов можете указать свои.

Функция в качестве аргумента будет принимать атакующего и атакуемого.

В теле функция должна получить параметр damage атакующего и отнять это количество от health атакуемого.

Функция должна сама работать со словарями и изменять их значения.

Решение

Задание #4

Давайте усложним предыдущее задание. Измените сущности, добавив новый параметр - armor = 1.2 (величина брони персонажа)

Теперь надо добавить новую функцию, которая будет вычислять и возвращать полученный урон по формуле damage / armor

Следовательно, у вас должно быть 2 функции:

  • Наносит урон. Это улучшенная версия функции из задачи 3.
  • Вычисляет урон по отношению к броне.

Примечание.

Функция номер 2 используется внутри функции номер 1 для вычисления урона и вычитания его из здоровья персонажа.

Решение

Урок #5

Задание #1

Создайте модуль (модуль - программа на Python, т.е. файл с расширением .py).

В нем создайте функцию создающую директории от dir_1 до dir_9 в папке из которой запущен данный код.

Затем создайте вторую функцию удаляющую эти папки. Проверьте работу функций в этом же модуле.

Решение

Задание #2

Создайте модуль.

В нем создайте функцию, которая принимает список и возвращает из него случайный элемент.

Если список пустой функция должна вернуть None. Проверьте работу функций в этом же модуле.

Примечание: Список для проверки вве дите вручную. Или возьмите этот: [1, 2, 3, 4]

Решение

Задание #3

Создайте модуль main.py.

Из модулей реализованных в заданиях 1 и 2 сделайте импорт в main.py всех функций.

Вызовите каждую функцию в main.py и проверьте что все работает как надо.

Примечание: Попробуйте импортировать как весь модуль целиком (например из задачи 1), так и отдельные функции из модуля.

Решение

to run this goto main dir and use python3 -m lesson5_3.main

Урок #6

Задание #1

Создать модуль music_serialize.py. В этом модуле определить словарь для вашей любимой музыкальной группы, например:

my_favourite_group = {
    'name': 'Г.М.О.',
    'tracks': ['Последний месяц осени', 'Шапито'],
    'Albums': [
        {'name': 'Делать панк-рок', 'year': 2016},
        {'name': 'Шапито', 'year': 2014},
    ],
}

С помощью модулей json и pickle сериализовать данный словарь в json и в байты, вывести результаты в терминал.

Записать результаты в файлы group.json, group.pickle соответственно.

В файле group.json указать кодировку utf-8.

Решение

Задание #2

Создать модуль music_deserialize.py.

В этом модуле открыть файлы group.json и group.pickle, прочитать из них информацию.

И получить объект: словарь из предыдущего задания.

Решение

Урок #7

Задание #1

Даны два списка фруктов. Получить список фруктов, присутствующих в обоих исходных списках.

Примечание: Списки фруктов создайте вручную в начале файла.

Решение

Задание #2

Дан список, заполненный произвольными числами. Получить список из элементов исходного, удовлетворяющих следующим условиям:

  • Элемент кратен 3,
  • Элемент положительный,
  • Элемент не кратен 4.

Примечание: Список с целыми числами создайте вручную в начале файла.

Не забудьте включить туда отрицательные числа. 10-20 чисел в списке вполне достаточно.

Решение

Задание #3

Напишите функцию которая принимает на вход список.

Функция создает из этого списка новый список из квадратных корней чисел (если число положительное)

и самих чисел (если число отрицательное) и возвращает результат (желательно применить генератор

и тернарный оператор при необходимости).

В результате работы функции исходный список не должен измениться.

Например:

old_list = [1, -3, 4]
result = [1, -3, 2]

Примечание: Список с целыми числами создайте вручную в начале файла.

Не забудьте включить туда отрицательные числа. 10-20 чисел в списке вполне достаточно.

Решение

Задание #4

Написать функцию которая принимает на вход число от 1 до 100.

Если число равно 13, функция поднимает исключительную ситуации ValueError иначе возвращает введенное число, возведенное в квадрат.

Далее написать основной код программы. Пользователь вводит число.

Введенное число передаем параметром в написанную функцию и печатаем результат, который вернула функция.

Обработать возможность возникновения исключительной ситуации, которая поднимается внутри функции.

Решение

About

Решение заданий по курсу Видеокурс Основы языка Python

Topics

Resources

Stars

Watchers

Forks

Languages