Библиотека knigago >> Компьютеры: Языки и системы программирования >> Python >> Python на примерах. Практический курс по программированию


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1029, книга: Аметистовый взгляд
автор: Фейрин Престон

"Аметистовый взгляд" Фейрин Престон - это бесспорно магнетическая и душещипательная история современной любви, которая оставит читателей поглощенными с самого начала до конца. Этот роман, являющийся частью захватывающей серии "Колорная гамма", представляет собой вихрь эмоций, страсти и интриг. Главный герой, Элайджа Тейт, - загадочный и соблазнительный миллиардер, который скрывает за своим суровым фасадом болезненное прошлое. Когда он встречает Эмму Коллинз, скромную и...

Алексей Николаевич Васильев - Python на примерах. Практический курс по программированию

3-е издание Python на примерах. Практический курс по программированию
Книга - Python на примерах. Практический курс по программированию.  Алексей Николаевич Васильев  - прочитать полностью в библиотеке КнигаГо
Название:
Python на примерах. Практический курс по программированию
Алексей Николаевич Васильев

Жанр:

Программирование: прочее, Python

Изадано в серии:

На примерах

Издательство:

Наука и Техника

Год издания:

ISBN:

978-5-94387-781-0

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Python на примерах. Практический курс по программированию"

В этой книге речь будет идти о том, как писать программы на языке программирования, который называется Python (правильно читается как Пайтон, но обычно название языка читают как питон, что тоже вполне приемлемо). Таким образом, решать будем две задачи, одна из которых приоритетная, а вторая, хотя и вспомогательная, но достаточно важная. Наша основная задача, конечно же, изучение синтаксиса языка программирования Python. Параллельно мы будем осваивать программирование как таковое, явно или неявно принимая во внимание, что соответствующие алгоритмы предполагается реализовывать на языке Python. Большинство авторов книг в своих трудах рассматривают теоретические основы языка и уделяют основное внимание базовому синтаксису языка, не рассматривая при этом практическую сторону его применения. Эта же книга старается восполнить недостаток практического материала, содержит множество примеров с комментариями, которые вы сможете использовать в качестве основы своих программных решений, изучения Python. Материал книги излагается последовательно и сопровождается большим количеством наглядных примеров, разноплановых практических задач и детальным разбором их решений

Читаем онлайн "Python на примерах. Практический курс по программированию". [Страница - 76]

прост:
необходимо создать новый класс путем наследования класса из иерархии
классов встроенных исключений. Обычно в качестве базового класса реко­
мендуют использовать класс Exception.
Процесс создания классов пользовательских исключений рассмотрим на
примере, представленном в листинге 8.13. В этом примере мы решаем ква-

g'fi'i

*

Глава 8. Немного о разном

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

Ш

На заметку
Напомним, что квадратное уравнение имеет вид ах2 + Ьх + С = О- В зависимо­
сти от значений параметров а , Ь и С возможны следующие варианты. Формально у
-Ъ + Vb2 - 4ас
-Ь - Vb2 - 4ас
квадратного уравнения два решения: * i = --------- ^ --------- и ** ~

>но
это в том случае, если параметр а Ф 0 и выражение D = Ь2 — 4 а с (называет­
ся дискриминантом квадратного уравнения) неотрицательно, то есть если D > О
. Причем если дискриминант нулевой (то есть D — О), то оба корня уравнения со­
впадают: х х = х г = — — , Если дискриминант отрицательный (имеет место
D < О), то на множестве действительных чисел квадратное уравнение решений не
имеет. Зато имеет два решения на множестве комплексных чисел:

-Ь -

.

-ъ + iV^lj


= ----------------

и
--------- 2а------ ■гДе через I обозначена мнимая единица (такая, что по опреде­
лению i 2 = —1). Все это имеет место, если параметр а не равен нулю. Если же
а = О, то фактически речь идет не о квадратном, а о линейном уравнении вида
с
Ь х + с = О. У этого уравнения одно решение х = но это при условии, что
Ь =£ О. Если 6 = О, то все зависит от того, равен ли нулю параметр С. При с = О
решением уравнения Ьх + с = О будет любое число. При с Ф О У уравнения
Ьх + с = О решений нет.

Понятно, что при написании программного кода для решения квадратных уравне­
ний с учетом всех перечисленных выше факторов можно использовать структуру
из вложенных условных операторов. Но мы пойдем другим путем. В приведенном
программном коде описывается два класса пользовательских исключений. Одно
исключение генерируется в случае, если уравнение не является квадратным, а
другое - если у уравнения комплексные решения (корни).

Листинг 8 .1 3 . Пользовательские классы исключений
# Импорт м а т е м а т и ч е с к о й функции
fro m m ath im p o r t s q r t
# К л а с с п о л ь з о в а т е л ь с к о й ош ибки
c l a s s L in e arE q u a tio n W arn in g (W a rn in g ):
# К онструктор
d e f __ i n i t __ ( s e l f , b , c ) :
# Контролируемый код
try :
# П р и с в а и в а н и е з н а ч е н и я полю э к з е м п л я р а .
# Возможна ошибка д е л е н и я н а н оль
s e l f . х = -с /Ь
# Е сли в о з н и к л а ошибка д е л е н и я н а ноль
except Z e ro D iv isio n E rro r:
# Если п ар ам етр нул евой

- ш т

Python

if

c==0:
# Реш ение - лю бое ч и с л о
s e l f . х="лю бое ч и с л о "
# Е с л и п а р а м е т р н е р а в е н нулю
e lse :
# Р еш ен и й н е т
s e l f . х="реш ений н е т "
# М етод д л я п р и в е д е н и я э к з е м п л я р а и ск л ю ч е н и я
# к те к с то в о м у формату
d e f __ s t r __ ( s e l f ) :
# Ф ормируется т е к с т о в о е зн а ч е н и е
# для р е з у л ь т а т а м етода
t x t = " Реш ение у р а в н е н и я : "
t x t + = s t r ( s e l f .х )
# Р езу л ь тат м етода
re tu rn tx t
# К ласс п о л ь з о в а т е л ь с к о г о исклю чения
c la s s C o m p lex R o o tsE rro r(E x c ep tio n ):
# К онструктор
d e f __ i n i t __ ( s e l f , a , b , D ) :
# Значение поля экзем пляра
se lf.x l= c o m p le x ( - b /2 /a ,s q rt(-D )/2 /a )
# Значение поля экзем пляра
s e l f . x 2 = co m p lex ( - b / 2 / a , - s q r t ( - D ) / 2 / a )
# М е то д д л я п р и в е д е н и я э к з е м п л я р а и с к л ю ч е н и я
# к т е к с т о в о м у формату
d e f __ s t r __ ( s e l f ) :
# Ф ормирование т е к с т о в о й с т р о к и для
# р е зу л ь та та метода
tx t= " x l = " + s tr(s e lf.x l)+ " \n "
t x t + = " x 2 = " + s t r ( s e l f . x2)
# Р езу л ьтат м етода
re tu rn tx t
# Функция д л я о т о б р а ж е н и я п а р а м е т р о в у р а в н е н и я
d e f s h o w _ p a ra m s(a ,b ,с ) :
# Т екст с форматированием
p r i n t ( "П арам етры : а = {0}, b = {1}, с = { 2 } : " . f o r m a t ( а , Ь , с ) )
# Функция д л я реш ен и я к в а д р а т н о г о у р а в н е н и я
d e f f i n d _ r o o t s (а , b , с) :
# О тображение п ар ам етр о в реш аем ого ур ав н ен и я
s h o w _ p a r a m s ( а , b , с)
# Контролируемый код
try :
# Если п а р а м е т р н у л ев о й
i f а==0:
# Г е н ер и р у е тся исклю чение

ш т -

Глава 8. Немного о разном

# п о л ь з о в а т е л ь с к о г о типа
r a i s e L i n e a r E q u a t i o n W a r n i n g ( b , с)
# Дискриминант ур ав н ен и я
D = b*b-4*a*c
# Е сл и д и с к р и м и н а н т меньш е н у л я
i f D --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.