Connect with us

Обучение

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

251

 

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

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

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

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

[adace-ad id=»3470″]

 

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

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

 

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

[adace-ad id=»3482″]

 

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

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

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

 

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

 

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

[adace-ad id=»3475″]

 

Нажмите что бы оставить комментарий

Ответить

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

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

Сервисы

Телевидение Wink Ростелеком: Samsung LG, Sony, Phillips, Android TV

Ростелеком

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

Гаджеты

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

Гаджеты

.

Digital2.ru - Тренды, IT, WEB- разработка, Цифровая экономика
Свободное копирование и распространение материалов с сайта Digital2.ru
разрешено только с указанием активной ссылки на Digital2 как на источник.
Данный сайт в ходит структуру медиа группы: Online Payments Group Intellect Organic
Товарный знак: OPGIO
Copyright 2019 © All rights reserved

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