Основание числа в python

Лекция: Числа. Модули, Графики

Числа в Python 3: целые, вещественные, комплексные. Числа в Python 3 ничем не отличаются от обычных чисел. Они поддерживают набор самых обычных математических операций: + , — , * , / , // (целая часть от деления), % (остаток от деления), ** (возведение в степень)

def nod(a,b): while a!=0: a, b = b % a, a return b

Обратите внимание на строку №3 приведенного примера, где происходит парное присвоение, часто используемое в языке python.

Модуль числа можно найти при помощи функции abs(x) . Функция divmod(x,y) вернет пару чисел (x//y,x%y) . Для возведения в степень имеется функция pow(x,y[,z]) .

Также нужно отметить, что целые числа в python 3, в отличие от многих других языков, поддерживают длинную арифметику (однако, это требует больше памяти).

Задание 4.1 Длина длинного числа

Запросить у пользователя два целых числа X и Y. Найти число знаков в числе X Y .

Системы счисления

  • int([object], [основание системы счисления]) — преобразование к целому числу в десятичной системе счисления. По умолчанию система счисления десятичная, но можно задать любое основание от 2 до 36 включительно.
  • bin(x) — преобразование целого числа в двоичную строку.
  • hex(х) — преобразование целого числа в шестнадцатеричную строку.
  • oct(х) — преобразование целого числа в восьмеричную строку.

Вещественные числа (float)

Вещественные числа поддерживают те же операции, что и целые. Однако (из-за представления чисел в компьютере) вещественные числа неточны, и это может привести к ошибкам:

s = 0 for i in range(10): s += 0.1 if s==1: print ('Нормально') else: print ('Странно')

Вещественные числа не поддерживают длинную арифметику.

Читайте также:  .

Задание 4.2 Калькулятор v2

Необходимо запросить у пользователя строку для вычислений. В качестве операций вводятся символы +, -, *, /. Нужно вывести результат вычислений. Например:

Строка для вычисления: 6*-1+4.2 Результат:-1.8

Комплексные числа (complex)

В Python встроены также и комплексные числа:

x = complex(1, 2) print(x) #(1+2j) y = complex(3, 4) print(y) #(3+4j) z = x + y print(x) #(1+2j) print(z) #(4+6j) z = x * y print(z) #(-5+10j) z = x / y print(z) #(0.44+0.08j) print(x.conjugate()) # Сопряжённое число (1-2j) print(x.imag) # Мнимая часть 2.0 print(x.real) # Действительная часть 1.0 print(x > y) # Комплексные числа нельзя сравнить. Выведет ошибку! print(x == y) # Но можно проверить на равенство abs(3 + 4j) # Модуль комплексного числа 5.0 pow(3 + 4j, 2) # Возведение в степень (-7+24j)

Модули

Система модулей позволяет вам логически организовать ваш код на Python. Группирование кода в модули значительно облегчает процесс написания и понимания программы. Говоря простым языком, модуль в Python это просто файл, содержащий код на Python. Каждый модуль в Python может содержать переменные, объявления классов и функций. Кроме того, в модуле может находиться исполняемый код.

Вы можете использовать любой питоновский файл как модуль в другом файле, выполнив в нем команду import . Команда import в Python обладает следующим синтаксисом:

import math # Используем функцию sqrt из модуля math print (math.sqrt(9)) # Печатаем значение переменной pi, определенной в math print (math.pi)

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

Команда from . import позволяет вам импортировать не весь модуль целиком, а только определенное его содержимое. Например:

# Импортируем из модуля math функцию sqrt from math import sqrt # Выводим результат выполнения функции sqrt. # Обратите внимание, что нам больше незачем указывать имя модуля print (sqrt(144)) # Но мы уже не можем получить из модуля то, что не импортировали print (pi) # Выдаст ошибку

Выражение from . import не импортирует весь модуль, а только предоставляет доступ к конкретным объектам, которые мы указали.

В Python так же возможно импортировать всё (переменные, функции, классы) за раз из модуля, для этого используется конструкция from . import * . Например:

from math import * # Теперь у нас есть доступ ко всем функция и переменным, определенным в модуле math print (sqrt(121)) print (pi) print (e)

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

Модуль math

Модуль math – один из наиважнейших в Python. Этот модуль предоставляет обширный функционал для работы с числами. В нем вы найдете такие функции как sin() , cos() , sqrt() , cos() , log() , exp() , trunc() . В нем же определены константы pi , e .

Модуль random

Модуль random предоставляет функции для генерации случайных чисел, букв, случайного выбора элементов последовательности. Модуль собрал разные функции для имитации случайных процессов: random() , randint() , randrange() , choice() , shuffle() , gauss() и другие.

Задание 4.3 Камень, ножницы, бумага

Запрограммируйте игру с компьютером в «Камень, ножницы, бумага». Пример диалога:

Счет 0:0 Ваш ход (0-выход, 1-камень, 2-ножницы, 3-бумага): 1 Мой ход: 2 Вы выиграли! Счет 0:1 Ваш ход (0-выход, 1-камень, 2-ножницы, 3-бумага): 3 Мой ход: 3 Ничья! Счет 0:1 Ваш ход (0-выход, 1-камень, 2-ножницы, 3-бумага): 1 Мой ход: 3 Вы проиграли! Счет 1:1 Ваш ход (0-выход, 1-камень, 2-ножницы, 3-бумага): 0 Игра окончена со счетом 1:1

Построение диаграмм в python

простейший график, который можно построить в Matplotlib, это график синуса и косинуса:

import matplotlib as mpl import matplotlib.pyplot as plt import math dpi = 80 fig = plt.figure(dpi = dpi, figsize = (512 / dpi, 384 / dpi) ) mpl.rcParams.update() plt.axis([0, 10, -1.5, 1.5]) plt.title('Sine & Cosine') plt.xlabel('x') plt.ylabel('F(x)') xs = [] sin_vals = [] cos_vals = [] x = 0.0 while x < 10.0: sin_vals += [ math.sin(x) ] cos_vals += [ math.cos(x) ] xs += [x] x += 0.1 plt.plot(xs, sin_vals, color = 'blue', linestyle = 'solid', label = 'sin(x)') plt.plot(xs, cos_vals, color = 'red', linestyle = 'dashed', label = 'cos(x)') plt.legend(loc = 'upper right') fig.savefig('trigan.png') plt.show()

Задание 4.4 График 'Улитки'

Постройте график функции \(r=\phi\)

Источник

Числа: целые, вещественные, комплексные

Python 3 логотип

Числа в Python 3: целые, вещественные, комплексные. Работа с числами и операции над ними.

Целые числа (int)

Числа в Python 3 ничем не отличаются от обычных чисел. Они поддерживают набор самых обычных математических операций:

x + y Сложение
x - y Вычитание
x * y Умножение
x / y Деление
x // y Получение целой части от деления
x % y Остаток от деления
-x Смена знака числа
abs(x) Модуль числа
divmod(x, y) Пара (x // y, x % y)
x ** y Возведение в степень
pow(x, y[, z]) x y по модулю (если модуль задан)

Также нужно отметить, что целые числа в python 3, в отличие от многих других языков, поддерживают длинную арифметику (однако, это требует больше памяти).

Над целыми числами также можно производить битовые операции

x | y Побитовое или
x ^ y Побитовое исключающее или
x & y Побитовое и
x Битовый сдвиг влево
x >> y Битовый сдвиг вправо
~x Инверсия битов

Дополнительные методы

int.bit_length() - количество бит, необходимых для представления числа в двоичном виде, без учёта знака и лидирующих нулей.

 int.to_bytes(length, byteorder, *, signed=False) - возвращает строку байтов, представляющих это число.
 int.from_bytes(bytes, byteorder, *, signed=False) - возвращает число из данной строки байтов.

Те, у кого в школе была информатика, знают, что числа могут быть представлены не только в десятичной системе счисления. К примеру, в компьютере используется двоичный код, и, к примеру, число 19 в двоичной системе счисления будет выглядеть как 10011. Также иногда нужно переводить числа из одной системы счисления в другую. Python для этого предоставляет несколько функций:

  • int([object], [основание системы счисления]) - преобразование к целому числу в десятичной системе счисления. По умолчанию система счисления десятичная, но можно задать любое основание от 2 до 36 включительно.
  • bin(x) - преобразование целого числа в двоичную строку.
  • hex(х) - преобразование целого числа в шестнадцатеричную строку.
  • oct(х) - преобразование целого числа в восьмеричную строку.

Вещественные числа поддерживают те же операции, что и целые. Однако (из-за представления чисел в компьютере) вещественные числа неточны, и это может привести к ошибкам:

 Для высокой точности используют другие объекты (например Decimal и Fraction)).

Также вещественные числа не поддерживают длинную арифметику:

Простенькие примеры работы с числами:

float.as_integer_ratio() - пара целых чисел, чьё отношение равно этому числу.

float.is_integer() - является ли значение целым числом.

float.hex() - переводит float в hex (шестнадцатеричную систему счисления).

classmethod float.fromhex(s) - float из шестнадцатеричной строки.

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

Модуль math предоставляет более сложные математические функции.

 

В Python встроены также и комплексные числа:

     : complex()    Для работы с комплексными числами используется также модуль cmath.

Для вставки кода на Python в комментарий заключайте его в теги

  • Книги о Python
  • GUI (графический интерфейс пользователя)
  • Курсы Python
  • Модули
  • Новости мира Python
  • NumPy
  • Обработка данных
  • Основы программирования
  • Примеры программ
  • Типы данных в Python
  • Видео
  • Python для Web
  • Работа для Python-программистов

Источник

Оцените статью