Connect with us

Обучение

Заметки Python #6: Практические задачи

Сегодня мы порешаем несколько популярных задач, которые встречаются в курсах по Питону

Часто при изучении функций предлагается решить такую задачку:

Давайте опишем пару сущностей player и enemy через словарь, который будет иметь ключи и значения:
name — строка, полученная от пользователя,
health = 100,
damage = 50.

Поэкспериментируйте с значениями урона и жизней по желанию.
Теперь надо создать функцию attack(person1, person2).
Примечание: имена аргументов можете указать свои.

Описание ниже решение достаточно примитивное. Можно сделать лучше и интересней, но для начального уровня и для решения задачи — подойдет

Рассмотрим по шагам. Для начала нужно импортировать библиотеку random, чтобы использовать её в своей функции. Для начала напишем саму функцию атаки

 

Дальше пишем основной код, где будем её применять:

 

Наша задача выполнена. Но иногда её дополняют еще одним условием

Давайте усложним предыдущее задание. Измените сущности, добавив новый параметр — armor = 1.2 (величина брони персонажа)
Теперь надо добавить новую функцию, которая будет вычислять и возвращать полученный урон по формуле damage / armor
Следовательно, у вас должно быть 2 функции:
1. Наносит урон. Это улучшенная версия функции из задачи 3.
2. Вычисляет урон по отношению к броне.
Примечание. Функция номер 2 используется внутри функции номер 1 для вычисления урона и вычитания его из здоровья персонажа случае

Это немного меняет нашу функцию атаки. Так же, по условиям, задачи создадим новую функцию, которая считает урон с учетом нового параметра armor

 

Теперь из второго параметра функции attack мы вычитаем не конкретное значение (person1[‘damage’]), а результат функции new_damage, не забывая при этом указывать и её оба параметра (мы задавали её с двумя параметрами —  damage и amor)

 

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

Click to comment

Leave a Reply

Ваш e-mail не будет опубликован.

Лучшие сервисы стриминга музыки в 2019 году

Сервисы

Wink Ростелеком: Samsung LG, Sony, Phillips, Android TV

Ростелеком

LG WEB OS: приложения, обновления, настройка, проблемы со звуком

Гаджеты

Ноутбуки Asus не видят жесткий диск. Автоматический вход в BIOS при старте

Гаджеты

.

Digital2.ru - тренды, IT, разработка, цифровая экономика

Connect
Подпишись на нас