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

Как проверить дробное ли число в python

  • автор:

КАК ПРОВЕРИТЬ ДРОБНОЕ ЛИ ЧИСЛО В PYTHON

В Python можно проверить, является ли число дробным, используя функции is_integer() и isinstance().

Функция is_integer() возвращает True, если число является целым и False, если число является дробным.

x = 5.0
print(x.is_integer()) # True

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

x = 5.0
if not isinstance(x, int):
print(«This is a float») # This is a float

Проверка делимости одного числа на другое на python

проверка ввода на число python (питон) #short

Решето Эратосфена – алгоритм определения простых чисел. Решение задачи на Python

Простые числа (Python)

Обработка цифр числа — Python с Нуля — Урок 12

12 Задача: Определить число четное или нечетное при помощи Python

Решаю простые задачки на Python с сайта Codewars

Точность и ошибки округления в Python — Функция round и тип данных float (дробные числа)

Проверка простоты числа перебором делителей. Решение задачи на Python

Надёжный тест простоты чисел [Numberphile]

BLGPG-50A6D92BC2D1-24-04-30-13

Новые материалы:

  • Китайская теорема об остатках python
  • Python или delphi
  • Numpy eye что делает
  • Как создать файл в python
  • Библиотека exceptions python
  • Python 3.9 скачать
  • Парсинг твиттера python
  • Django сортировка в админке
  • Local variable referenced before assignment python ошибка
  • Что такое data science в 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 3 Проверка на дробное число введённое пользователем

Как проверить а , если пользователь введет строку? При этом мне ему нужно написать, что это не число.

Отслеживать
52.4k 11 11 золотых знаков 110 110 серебряных знаков 312 312 бронзовых знаков
задан 18 фев 2016 в 11:56
Вадим Вова Вадим Вова
303 1 1 золотой знак 5 5 серебряных знаков 15 15 бронзовых знаков
Связанный вопрос: Asking the user for input until they give a valid response
1 ноя 2016 в 4:00
Связанный вопрос: Extract float/double value
1 ноя 2016 в 4:09
ассоциация: stackoverflow.com/questions/385558/extract-float-double-value
2 мар 2017 в 12:22

2 ответа 2

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

Проверка

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

def isfloat(value): try: float(value) return True except ValueError: return False 

Чтобы дать ответ пользователю, вы можете использовать тернарный оператор:

print('это число' if isfloat(input('введите число')) else 'это не число') 

Или обычное условие:

a = input('введите число') if isfloat(a): print('это число') else print('это не число') 

Вот что является и не является «числом» ( float ) в Python:

#Команда isFloat? Комментарий #------------------------------------ -------- -------------------------------- print(isfloat("")) #False Пустая строка print(isfloat("127")) #True Распознаваемая строка print(isfloat(True)) #True Истина - это число print(isfloat("True")) #False "Истина" - это не число! print(isfloat(False)) #True Зато Ложь - число print(isfloat("123.456")) #True Десятичное число print(isfloat(" -127 ")) #True Пробелы вокруг числа обрезаются print(isfloat("\t\n12\r\n")) #True Включая переносы строк print(isfloat("NaN")) #True Not a number - число! print(isfloat("NaNanananaBATMAN")) #False Но не в составе большей строки print(isfloat("-iNF")) #True Минус бесконечность print(isfloat("123.E4")) #True Экспоненциальная нотация print(isfloat(".1")) #True Только мантисса print(isfloat("1,234")) #False Дискриминация, запятая не считается разделителем! print(isfloat(u'\x30')) #True Unicode - это число print(isfloat("NULL")) #False "Null" - обычная строка print(isfloat(0x3fade)) #True Шестнадцатеричное число print(isfloat("6e7777777777777")) #True Насколько большое, что считается бесконечным print(isfloat("1.797693e+308")) #True Максимальное значение float print(isfloat("infinity")) #True То же что inf - бесконечность print(isfloat("infinityandBEYOND")) #False Но не в составе большей строки print(isfloat("12.34.56")) #False Только одна точка print(isfloat(u'四')) #False Японский символ '4' это не float. print(isfloat("#56")) #False знак фунта стерлингов print(isfloat("56%")) #False Проценты не обрабатываются print(isfloat("0E0")) #True Странная, но экспонента print(isfloat(0**0)) #True Ноль в степени ноль print(isfloat("-5e-5")) #True Отрицательная степень print(isfloat("+1e1")) #True Можно явно указать, что число положительное print(isfloat("+1e1^5")) #False Нераспознаваемый экспоненциальный формат print(isfloat("+1e1.3")) #False Экспонента должна быть целым числом print(isfloat("-+1")) #False Слишком много знаков print(isfloat("(1)")) #False Скобки препятствуют распознаванию 

Эта таблица — перевод ответа, данного Eric Leschinski на en.SO. Я закомментировал лишние части строки, чтобы ее можно было скопировать и выполнить как код.

Как проверить, является ли число дробным в python? ��

В Python можно проверить, является ли число дробным, используя функцию isinstance для проверки его типа. Если число является экземпляром класса float , то оно является дробным.

number = 3.14 if isinstance(number, float): print("Число является дробным") else: print("Число не является дробным")

В приведенном коде переменная number является числом, которое мы проверяем. Если оно дробное, то выводится сообщение «Число является дробным», иначе выводится сообщение «Число не является дробным».

Детальный ответ

Как проверить дробное ли число в python? Python предоставляет несколько способов проверить, является ли число дробным или целым. В этой статье мы рассмотрим несколько методов, которые помогут вам выполнить данную проверку.

Метод 1: Использование оператора модуля

Первый способ — это использование оператора модуля (%). Если результат от деления числа на 1 не равен 0, то число является дробным. Давайте посмотрим на примере:

 num = 3.14 if num % 1 != 0: print("Число", num, "является дробным") else: print("Число", num, "является целым") 

В данном примере мы проверяем, является ли число «num» дробным или целым. Если результат от деления числа на 1 не равен 0, выводится сообщение «Число является дробным», в противном случае выводится сообщение «Число является целым».

Метод 2: Использование функции is_integer()

Второй способ — использовать встроенную функцию is_integer(). Эта функция возвращает True, если число является целым, и False, если число является дробным или десятичным. Вот пример использования:

 num = 3.14 if num.is_integer(): print("Число", num, "является целым") else: print("Число", num, "является дробным") 

В данном примере мы используем функцию is_integer(), чтобы проверить число «num». Если функция возвращает True, выводится сообщение «Число является целым», в противном случае выводится сообщение «Число является дробным».

Метод 3: Использование функции isinstance()

Третий способ — использовать функцию isinstance() для проверки типа числа. Мы можем проверить, является ли число типом float, чтобы определить, является ли оно дробным. Вот пример кода:

 num = 3.14 if isinstance(num, float): print("Число", num, "является дробным") else: print("Число", num, "является целым") 

В данном примере мы используем функцию isinstance(), чтобы проверить тип числа «num». Если число является типом float, выводится сообщение «Число является дробным», в противном случае выводится сообщение «Число является целым».

Метод 4: Использование функции type()

Четвертый способ — использовать функцию type() для проверки типа числа. Мы можем проверить, является ли число типом float или int, чтобы определить, является ли оно дробным или целым. Вот пример кода:

 num = 3.14 if type(num) == float: print("Число", num, "является дробным") elif type(num) == int: print("Число", num, "является целым") else: print("Число", num, "не является ни дробным, ни целым") 

В данном примере мы используем функцию type(), чтобы проверить тип числа «num». Если число является типом float, выводится сообщение «Число является дробным». Если число является типом int, выводится сообщение «Число является целым». В противном случае выводится сообщение «Число не является ни дробным, ни целым». В этой статье мы рассмотрели четыре способа проверить, является ли число дробным или целым в Python. Выберите тот, который больше всего соответствует вашим потребностям и используйте его в своих проектах. Успехов в программировании!

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

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