Как проверить целое ли число в питоне
Перейти к содержимому

Как проверить целое ли число в питоне

  • автор:

Как проверить целое ли число java

Для проверки того, что число целое в Java можно использовать условие number % 1 == 0 Здесь % — оператор взятия остатка от деления, и если остаток от деления на 1 равен 0, то число является целым. Пример:

double number = 5.0; if (number % 1 == 0)  System.out.println("Число является целым."); > else  System.out.println("Число не является целым."); > 

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

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

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

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

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

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

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

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

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

var1 = 25

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

 
var1 = "25"
# или
var1 = '25'

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

var1 = 0.001

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

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

 
var1 = 1 # создание int
var2 = 1.10 # создание float
var3 = "1.10" # создание строки
print(type(var1))
print(type(var2))
print(type(var3))

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

 
# создание 1,000,000
var1 = 1,000,000 # неправильно

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

 
# создание 1,000,000
var1 = 1_000_000 # правильно
print(var1)

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

1000000

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

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

Python IDLE

Сложение

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

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

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

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

>>> 1.0 + 2 3.0

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

Вычитание

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

>>> 3 - 1 2 >>> 1 - 5 -4 >>> 3.0 - 4.0 -1.0 >>> 3 - 1.0 2.0

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

Умножение

Для умножения в Python применяется оператор * .

>>> 8 * 2 16 >>> 8.0 * 2 16.0 >>> 8.0 * 2.0 16.0

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

Деление

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

>>> 3 / 1 3.0 >>> 4 / 2 2.0 >>> 3 / 2 1.5

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

>>> 1 / 0 Traceback (most recent call last): File "", line 1, in ZeroDivisionError: division by zero
Деление без остатка

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

>>> 2 // 1 2 >>> 4 // 3 1 >>> 5 // 2 2

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

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

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

>>> 5 % 2 1 >>> 4 % 2 0 >>> 3 % 2 1 >>> 5 % 3 2

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

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

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

>>> 3**2 9 >>> 2**4 16 >>> 3**3 27

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

Комплексные числа — это числа, которые включают мнимую часть. Python поддерживает их «из коробки». Их можно запросто создавать и использовать. Пример:

Проверка на целое число—условие на проверку данных, введенных пользователем

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

1 ноя 2016 в 6:02
float меняете на int и будет тоже самое
1 ноя 2016 в 6:19

Взяв за основу: print('это число' if isfloat(input('введите число')) else 'это не число') и заменив «float» на «int» получил: «NameError: name 'isint' is not defined»

1 ноя 2016 в 6:58

Насколько я понял из ваших комментариев к другим ответам, вам нужно просто проверить, что строка содержит только цифры или минус на первой позиции. Это элементарно реализуется в несколько строчек.

1 ноя 2016 в 12:23

6 ответов 6

Сортировка: Сброс на вариант по умолчанию

Чтобы проверить является ли строка введённая пользователем целым числом, можно воспользоваться int в try/except, похожим образом как показано в ответе на вопрос «Python 3 Проверка на дробное число введённое пользователем», порекомендованный @Alex.B, заменив float на int как @gil9red предложил и @slippyk явно показал:

def isint(s): try: int(s) return True except ValueError: return False 
>>> isint('10') True >>> isint('a') # не десятичная цифра False >>> isint('²') # верхний индекс False >>> isint('১') # Bengali (Unicode) True 

Это может сломаться, если ввод не строка, например:

>>> isint(0.5) # XXX не работает для float True >>> 0.5 .is_integer() False >>> from numbers import Integral >>> isinstance(0.5, Integral) False >>> isinstance(123, Integral) True >>> isinstance(1., Integral) # XXX float False >>> 1..is_integer() # но целое значение True >>> from fractions import Fraction >>> isint(Fraction(1, 2)) # XXX не работает для дробей True >>> isinstance(Fraction(1, 2), Integral) False >>> isinstance(Fraction(1), Integral) # XXX дробь False >>> Fraction(1) == 1 # даже если целое значение True 

Если вы хотите проверить, что переданная строка содержит только десятичные цифры и ничего более (к примеру, нет '+' , '-' , ' ' , '\n' символов в ней), то можно str.isdecimal использовать:

>>> '123'.isdecimal() True >>> '+123'.isdecimal() False >>> isint('+123') True >>> isint(' 123\n') True >>> ' 123\n'.isdecimal() False 

isdecimal() можно использовать, чтобы имена файлов, содержащие цифры, в "естественном" порядке отсортировать (как Windows-проводнике). См. Python analog of natsort function (sort a list using a “natural order” algorithm).

Если хотите несколько таких чисел из ввода извлечь, можно регулярное выражение использовать:

>>> import re >>> from datetime import datetime >>> date_string = '2016-11-01 23:04:05' >>> datetime(*map(int, re.findall(r'\d+', date_string))) datetime.datetime(2016, 11, 1, 23, 4, 5) 

Последнее, это возможно более простой, менее строгий (и эффективный) вариант для:

>>> datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S') datetime.datetime(2016, 11, 1, 23, 4, 5) 

Если вы хотите разрешить задавать целые числа в произвольном основании как в исходном коде Питона, то передайте base=0 :

>>> int('0b1110', 0) # binary ("01") 14 >>> int('0xcafe', 0) # hexadecimal 51966 

Python проверка ввода числа (или текста)

Юн Сергей

Несколько алгоритмов для проверки ввода числа (строки и т.д) в Python, оформленные функциями.

Проверка ввода числа (или текста)

Вариант ValueError

def getNumber01(): # Первый вариант while type: getNumber = input('Введите число: ') # Ввод числа try: # Проверка что getTempNumber преобразуется в число без ошибки getTempNumber = int(getNumber) except ValueError: # Проверка на ошибку неверного формата (введены буквы) print('"' + getNumber + '"' + ' - не является числом') else: # Если getTempNumber преобразован в число без ошибки, выход из цикла while break return abs(getNumber) # возвращает модуль getTempNumber (для искл. отрицат. чисел) print(getNumber01())

Вариант isdigit()

def getNumber02 (): while True: getNumber = input('Введите целое положительное число: ') # Ввод числа if getNumber.isdigit() : return getNumber print(getNumber02())

You may also like

Домашняя работа по курсу Веб-вёрстка от Skillbox

Отключение перенаправления файлов Python (Wow64)

Проверка и установка принтера по умолчанию

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

You must be logged in to post a comment.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *