Как сделать число нечетным в питоне

Добавил пользователь Алексей Ф.
Обновлено: 05.10.2024

Ч исла в Python (как и в других языках программирования) чрезвычайно простое понятие. В Python все переменные представляют собой объекты и размещаются в динамической памяти.

Базовый набор Python содержит следующие типы чисел:

  • целые ( int );
  • вещественные ( float ) [с десятичной точкой];
  • комплексные ( complex ) [состоят из действительной и мнимой части].

Над числами в Python можно выполнять самые обычные математические операции: сложение ( + ), вычитание ( - ), возведение в степень ( ** ) и т.д.

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

В Python любое число, состоящее из десятичных цифр без префикса, интерпретируется как десятичное число типа int .

>>> 0 0 >>> 20 20 >>> -20 -20 >>> type(20) >>> 100 + 20 120

Целые числа в Python представлены только одним типом — PyLongObject , реализация которого лежит в longobject.c , а сама структура выглядит так:

Любое целое число состоит из массива цифр переменной длины, поэтому в Python 3 в переменную типа int может быть записано число неограниченной длины. Единственное ограничение длины — это размер оперативной памяти.

>>> 134523345234252523523478777 ** 2 18096530413013891133013347014216107772438771969415729

Целые числа могут записываться не только как десятичные, но и как двоичные, восьмеричные или шестнадцатеричные. Для этого перед числом нужно написать символы:

  • 0b (0B) – для двоичного представления;
  • 0o (0O) – для восьмеричного представления;
  • 0x (0X) – для шестнадцатеричного представления.

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

Еще такие числа называют числами с плавающей точкой . Это числа, содержащие точку (десятичный разделитель) или знак экспоненты.

>>> 1.5 1.5 >>> type(1.5) >>> 3. 3.0 >>> .5 0.5 >>> .4e7 4000000.0 >>> type(.4e7) >>> 4.1e-4 0.00041

Числа типа float — неточны (из-за представления чисел с плавающей запятой в компьютере).

>>> 0.3 + 0.3 + 0.3 + 0.1 0.9999999999999999

Информацию о точности и внутреннем представлении float для вашей системы можно получить из sys.float_info

>>> import sys >>> sys.float_info sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)

Если нужна высокая точность обычно используют модули Decimal и Fraction.

Об ограничениях и подводных камнях в работе с числами с плавающей точкой описано тут .

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

Комплексные числа представляют собой пару значений типа int или float , и имеют вид + j .

Отдельные части комплексного числа доступны через атрибуты real и imag

>>> num = 1.1+2j >>> num.real, num.imag (1.1, 2.0)

Операции с числами

Является ли переменная числом

Любую переменную можно проверить на тип (int, float или complex):

n = 10 >>> if type(n) == int: print("This is int") This is int

Если вы хотите проверить, находится ли в строке число, воспользуйтесь методом isdigit()

>>> string = "404" >>> string.isdigit() True

Однако стоит помнить, что метод isdigit() не работает для отрицательных чисел и чисел с плавающей точкой.

Также для проверки на число, можно написать собственную функцию:

>>> def isInt(value): try: int(value) return True except ValueError: return False >>> isInt(123) True >>> isInt("qwerty") False >>> isInt("123") True >>> isInt("-123") True >>> isInt("123.2") False

Арифметические операции

  • x + y — сложение;
  • x - y — вычитание;
  • x * y — умножение;
  • x / y — деление;
  • x // y — целочисленное деление;
  • x % y — остаток от деления;
  • x ** y — возведение в степень;
  • -x — смена знака;
  • abs(x) — модуль числа;
  • divmod(x, y) — возвращает кортеж из частного и остатка от деления x на y;
  • pow(x, y[, z]) — возведение числа в степень (z — деление по модулю);
  • round(x[, ndigits]) — округление числа (ndigits - знаки после запятой).

Сравнение чисел

  • x == y — равно;
  • x != y — не равно;
  • x > y — больше;
  • x — меньше;
  • x >= y — больше или равно;
  • x — меньше или равно.

Преобразования

  • int(x) — преобразование в целое число int ;
  • float(x) — преобразование в число с плавающей точкой float ;
  • complex(x) — преобразование в комплексное число complex ;
  • bin(x) — целое числа в двоичную строку;
  • oct(x) — целое число в восьмеричную строку;
  • hex(х) — целое число в шестнадцатеричную строку;
  • [int(x) for x in str(123)] — перевод целого числа 123 в список цифр этого числа;
  • int(''.join(str(digit) for digit in [1,2,3])) — перевод списка цифр [1,2,3] в целое число 123;
  • str(x) — число в строку;

Ввод чисел

Для ввода данных в программу на языке Python используется функция input() . Эта функция считывает то что вы ввели на клавиатуре, и записывает эти данные в переменную в виде одной строки. После этого, перевести строку в число можно простыми функциями int() , float() или complex() .

Если нужен список чисел, введите несколько чисел через пробел и выполните:

my_list = [int(x) for x in input().split()] print(my_list) > [1, 2, 3]

Вывод чисел

Для вывода числа используйте print() :

>>> print(1) 1 >>> print(-1.2) -1.2 >>> print(1, 3, 4) 1 3 4

На практике возникают ситуации, когда нужно вывести число вместе со строкой (например пояснить, что означает число). Существует несколько вариантов сделать это:

В этом материале рассмотрим работу с числами в Python. Установите последнюю версию этого языка программирования и используйте IDE для работы с кодом, например, Visual Studio Code.

В Python достаточно просто работать с числами, ведь сам язык является простым и одновременно мощным. Он поддерживает всего три числовых типа:

  • int (целые числа)
  • float (числа с плавающей точкой)
  • complex (комплексные числа)

Хотя int и float присутствуют в большинстве других языков программирования, наличие типа комплексных чисел — уникальная особенность Python. Теперь рассмотрим в деталях каждый из типов.

Целые и числа с плавающей точкой в Python

В программирование целые числа — это те, что лишены плавающей точкой, например, 1, 10, -1, 0 и так далее. Числа с плавающей точкой — это, например, 1.0, 6.1 и так далее.

Создание int и float чисел

Для создания целого числа нужно присвоить соответствующее значение переменной. Возьмем в качестве примера следующий код:

Здесь мы присваиваем значение 25 переменной var1 . Важно не использовать одинарные или двойные кавычки при создании чисел, поскольку они отвечают за представление строк. Рассмотрим следующий код.

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

Здесь также не стоит использовать кавычки.

Проверить тип данных переменной можно с помощью встроенной функции type() . Можете проверить результат выполнения, скопировав этот код в свою IDE.

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

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

Значение выведем с помощью функции print :

Арифметические операции над целыми и числами с плавающей точкой

Используем такие арифметические операции, как сложение и вычитание, на числах. Для запуска этого кода откройте оболочку Python, введите python или python3 . Терминал должен выглядеть следующим образом:

Python IDLE

Сложение

В Python сложение выполняется с помощью оператора + . В терминале Python выполните следующее.

Результатом будет сумма двух чисел, которая выведется в терминале.

Работа с числами в Python

Теперь запустим такой код.

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

Вычитание

В Python для операции вычитания используется оператор -. Рассмотрим примеры.

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

Умножение

Если перемножить два целых числа, то результатом будет целое число. Если же использовать число с плавающей точкой, то результатом будет также число с плавающей точкой.

Деление

В Python деление выполняется с помощью оператора / .

В отличие от трех предыдущих операций при делении результатом всегда будет число с плавающей точкой. Также нужно помнить о том, что на 0 делить нельзя, иначе Python вернет ошибку ZeroDivisionError . Вот пример такого поведения.

Деление без остатка

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

Результатом такой операции становится частное. Остаток же можно получить с помощью модуля, о котором речь пойдет дальше.

Остаток от деления

Для получения остатка деления двух чисел используется оператор деления по модулю % .

На этих примерах видно, как это работает.

Возведение в степень

Число можно возвести в степень с помощью оператора ** .

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

Числа в Python

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

Почему нельзя свалить все данные в одну общую кучу и не заморачиваться с каждым типом по отдельности? Допустим, мы присвоили переменной a цифру 5: a = 5. А теперь представьте, что никакого разделения по типу данных нет. Так что находится в переменной: число или строка? Если 10 - это число, то с ним можно произвести математические действия. А если это строка, то мы имеем дело с текстом и тогда Python задействует совсем другие методы.

Ключевой момент: У каждого типа данных свои методы.

Цифра 100 написанная без кавычек, относится к числовому типу данных. А цифра '100' в кавычках - к строковому типу. С помощью синтаксиса, мы сообщаем Python, какой у нас тип данных. Числа в Python делятся на два вида: целое число и вещественное.

Целое число

К целым числам (int) относятся все положительные и отрицательные числа без дробной части. Все положительные целые числа называются натуральными.

-80, -10, -4, 0, 1, 2, 20

Вещественное число

У вещественных чисел (float) всегда присутствует дробная часть, а ещё их называют числами с плавающей точкой. Поскольку дробная часть отделяется от целой части, точкой.

Математические операции с числами

Ради математических вычислений в Python и существует числовой тип данных.

Сложение чисел

e = 45 + 55
print(e)
100

Вычитание чисел

Умножение чисел

Деление чисел

У результата деления целого числа на целое, всегда будет дробная часть. Такая особенность обусловлена тем, что в большинстве случаев числа не делятся без остатка.

Целочисленное деление

В результате целочисленного деления, всегда будет целое число. Мы просто отбрасываем остаток. Число 15 поместится целых 2 раза.

Остаток от деления

Ответом будет остаток от деления. При обычном делении, ответ был бы 15.1. Но нам нужен только остаток. Убираем целое число и оставляем 1.

n = 16 % 3
print(n)
1

Возведение числа в степень

Число перед двумя звездочками - это объект, который нужно возвести в степень. Цифра после звездочек обозначает, в какую степень возводим: 4 возводим во вторую степень.

l = 4 ** 2
print(l)
16

В Python есть встроенные математические функции.

Модуль числа

Функция abs() находит модуль числа. Передаем в параметрах одно значение. Если передаваемое значение отрицательное, то abs() вернет положительное число. Модуль числа не может быть отрицательным.

Наименьшее число

Функция min() в Python возвращает самое маленькое число.

Максимальное число

Функция max() вернет самое большое число.

Округление до целого числа

Функция round() округляет до целого числа.

Вывести число в Python

Функция print() выводит числа на экран.

Ввести число в Python

Функция input() считывает вводимое значение пользователем в консоль и сохраняет его в переменной. Но что произойдет, если мы введем какое-нибудь число и затем обратимся к переменной?

Python вывел строку, так как число стоит в кавычках.

Для ввода целого числа, следует обернуть функцию input() в другую функцию int().

Для вещественного числа, соответственно в float().

Как посчитать сумму введенных чисел?

В команде input() можно передавать подсказки.

w = int(input("Введите первое число: "))
q = int(input("Введите второе число: "))
summa=w+q
print(summa)

Введите первое число: 6
Введите второе число: 7
13


Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

Комментарии ( 0 ):

На уроке объясняется, как в языке python представлены списки (вместо массивов); объясняется про создание списков на Python.

Часть I: Коллекции: Списки / массивы

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

Списки являются упорядоченными последовательностями, которые состоят из различных объектов (значений, данных), заключающихся в квадратные скобки [ ] и отделяющиеся друг от друга с помощью запятой.

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

Пример:
Так, например, в Питоне нельзя переприсваивать значение для отдельных символов строки.
Программа выдаст ошибку!

Изменять строку можно только, работая с ней, как с объектом (метод replace , например):

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

Создание списков на Python

    Создать список можно несколькими способами. Рассмотрим их.

1. Получение списка через присваивание конкретных значений

2. Списки при помощи функции List()

Получаем список при помощи функции List()

3. Создание списка при помощи функции Split()

  • Используя функцию split в Питон можно получить из строки список. Рассмотрим пример:

4. Генераторы списков

  • В python создать список можно также при помощи генераторов, — это довольно-таки новый метод:
  • Первый простой способ.

Сложение одинаковых списков заменяется умножением:

или такой пример:

l = [i*i for i in range(10)]

Задание Python 4_4:
Создайте список из сумм троек чисел от 0 до 10, используя генератор списка (0 + 1 + 2, 1 + 2 + 3, …).

Задание Python 4_5 (сложное):
Заполните массив элементами арифметической прогрессии. Её первый элемент, разность и количество элементов нужно ввести с клавиатуры.

* Формула для получения n-го члена прогрессии: an = a1 + (n-1) * d

Простейшие операции над списками

Задание 4_6:
В строке записана сумма натуральных чисел: ‘1+25+3’. Вычислите это выражение. Работать со строкой, как со списком.

s=input('введите строку') l=list(str(s));

В питоне не нужно явно указывать размер списка или вручную выделять на него память. Длину списка можно узнать с помощью встроенной функции len :

Ввод списка (массива) в языке Питон

Функция int здесь используется для того, чтобы строка, введенная пользователем, преобразовывалась в целые числа.

Задание Python 4_7:
Необходимо задать список (массив) из шести элементов; заполнить его вводимыми значениями и вывести элементы на экран. Использовать два цикла: первый — для ввода элементов, второй — для вывода.

Задание Python 4_8:
Заполните список случайными числами в диапазоне 20..100 и подсчитайте отдельно число чётных и нечётных элементов. Использовать цикл.

Задание Python 4_9: Найдите минимальный элемент списка. Выведите элемент и его индекс. Список из 10 элементов инициализируйте случайными числами. Для перебора элементов списка использовать цикл.

9 5 4 22 23 7 3 16 16 8 Минимальный элемент списка L[7]=3

Часть II: Другие операции над списками при помощи функций

Задание 4_10:
Дан список из 5 различных элементов. Используя функции (не использовать цикл), необходимо найти и вывести:

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