Программирование Python по моим конспектам Лекция 8.3

Пост можно топить, минусить и всячески убивать, ибо в горячем он нахер не нужен, а вот подписчикам пригодится.


Ну что братья и сестры, вот и пришел час постить очередную непонятную херню о питоне.

Сегодня низпослали нам небеса продолжение лекции о типах данных, а именно о числах с запятой float.  Возрадуемся же! Кто не радется- тому гореть в аду непросвещенных.

Итак, все мы знаем что такое дроби, кто не знает- гуглим. Кто не умеет гуглить- идем работать в другую область народного хозяйства. Нам извесно, что любую дробь можно преобразить в число с запятой. Т.е 1/2 это 0,5 и так далее. Не будем на этом останавливаться. Иногда в программировании да и в реальной жизни нам необходима предельная точность, именно в этих случаях мы используем числа с запятой. К примеру, Пикабушники используют эти числа для измерения константы в 49,5 см.

Как и в прошлой лекции- покажу вам веселую картинку

Программирование Python по моим конспектам Лекция 8.3 Питон, Программирование, Язык, Длиннопост

Данные записи древних были обнаружены в священных храмах, и мудрецы толмачат сие вот как-

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

Программирование Python по моим конспектам Лекция 8.3 Питон, Программирование, Язык, Длиннопост

А так выглядит на практике

Программирование Python по моим конспектам Лекция 8.3 Питон, Программирование, Язык, Длиннопост

Маленькое обьяснение - x**y это возведение числа икс в степень игрек. Если это покажется сложным- спрашивайте.

Литералы записи с точкой части могут состоять из ряда цифр и точки. Вот типа 125.5

Для рациональный числе которые ооочень близко находятся возле нуля, прямо как размер мозга твой бывшей, или для чисел которые очень велики, как мое ЧСВ, люди придумали експонентную запись (которую мы уже видели выше). Сейчас рассмотрим это чудо подробнее


Z=m*10e


Таким образом число с литерал Z состоит из целого числа либо числа с точкой (мантисса), которое заканчивается буквочкой е или E, знаком + или -, и наконец целым числом экспоненты.

Выглядит этот зверь вот так

1.0e-10 или же 1 в минус десятой степени и будет это равно 0.00000000001

или вот такой пример 2E+7 сие есть число 20000000

Вот на одном форуме спопипастил хорошее объяснение

если по-простому представь что e в числе 1e-30 это разделительный знак, точка или запятая, 30 это количество знаков на которое нужно сдвинуть этот разделительный знак чтобы получить число, а минус между 1е и 30 это направление порядка сдвига, если минус свдигать влево если плюс в право, итого получается что нам нужно сдвинуть запятую после единицы которая у нас представлена в виде буквы е на 30 знаков влево чтобы получить это число.


На этом кагбэ с float все. Но с лекцией не все. Следующий зверь- комплексные числа.

Программирование Python по моим конспектам Лекция 8.3 Питон, Программирование, Язык, Длиннопост

Для комплексных чисел у питона нет своего литерала.


А синтаксис выглядит так


iamnumber ::=(floatnumber|intpart) ("j"|"J")

Сие значит, что мнимая еденица состоит из целого числа или числа с запятой и символа j или J.


Выглядит это вот так


10+0.3j или вот так 20J (имеется ввиду, что вещественное число равняется дырке от бублика)

А интерпритатор изображает комплесные числа вот как

Программирование Python по моим конспектам Лекция 8.3 Питон, Программирование, Язык, Длиннопост

1 Если вещественная часть равна нулю, то питон выбрасывает ее к херам

2 интерпритатор берет вещественные числа в круглые скобки.


С комплесными числами можно поровдить операции сложения и вычитания, как и в математике.

Программирование Python по моим конспектам Лекция 8.3 Питон, Программирование, Язык, Длиннопост
Ну с числами мы более - менее разобрались. Осталось понять, что можно с ними делать. А вот что
Программирование Python по моим конспектам Лекция 8.3 Питон, Программирование, Язык, Длиннопост

Для начала мы зададимся вопросом о знаках + и -

Знак + не имеет влияния на числа и оставляет их как есть.

1 это и есть ++1

А вот зак - меняет знак числа на негативный.

Два знака -- как и в математике или в булевой алгебре (отрицание отрицания) дают положительное значение. Т.е --1 это 1, а вот - - -1  это уже -1. Короче от обычной школьной математике не отличаются.

Программирование Python по моим конспектам Лекция 8.3 Питон, Программирование, Язык, Длиннопост

Умножение чисел. Как и в математике, тут действуют одинаковые правила. Кроме одного. Вот оно

Программирование Python по моим конспектам Лекция 8.3 Питон, Программирование, Язык, Длиннопост

нужно было делать так

Программирование Python по моим конспектам Лекция 8.3 Питон, Программирование, Язык, Длиннопост

Деление чисел в питоне всегда имеет результатом тип float, даже если мы делим два целых числа

Программирование Python по моим конспектам Лекция 8.3 Питон, Программирование, Язык, Длиннопост

Целочисленное деление.  Возвращает нам продукт деления чисел без остатка. Результат всегда целое число, но тип может быть разным. Если два операнда целые числа- результат будет инт, если один из двоих будет число с запятой, то тут уж ничего не поделаешь. Будет результат с запятой

Программирование Python по моим конспектам Лекция 8.3 Питон, Программирование, Язык, Длиннопост

Модуль числа возвращает остаток от деления двух чисел. В примере ниже 123/10=12 остаток 3

Программирование Python по моим конспектам Лекция 8.3 Питон, Программирование, Язык, Длиннопост

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

Программирование Python по моим конспектам Лекция 8.3 Питон, Программирование, Язык, Длиннопост

и такой результат

Программирование Python по моим конспектам Лекция 8.3 Питон, Программирование, Язык, Длиннопост

Код простой, все это мы уже проходили. Однако если вопросы будут- отвечу.

На этом закончу, пожалуй. Всем хорошей субботы.

5
Автор поста оценил этот комментарий

Какой смысл просто переписывать либы и доки?
https://docs.python.org/2/library/math.html
Неужели человек, который захочет работать с math пойдет читать пикабу, а не оф доку?

раскрыть ветку
Автор поста оценил этот комментарий

Друг, прости, я подписался на тебя чтобы почитать твои конспекты, но так и не прочитал ничего кроме первого. Но я прочту, обещаю, ты только пиши.

раскрыть ветку
DELETED
Автор поста оценил этот комментарий

по моему ошибка в коде:



fifty=money//50

money//50


вместо


fifty=money//50

money=money%50

раскрыть ветку
Автор поста оценил этот комментарий

money=9

divlist=[50,20,10,5,2,1]

for x in divlist:

           d=money//x

           money=money%x

           rez=(str(d)+" раз "+str(x)+" рублей")

           print rez

я бы примерно так сделал, хотя можно еще короче сделать

раскрыть ветку
Автор поста оценил этот комментарий
Извиняюсь за оффтоп.
Автор, ты случайно не работал с Pinterest API под питоном3?
раскрыть ветку