Как проверить, является ли исходный ввод целочисленным в python 2.7?

Есть ли метод, который я могу использовать, чтобы проверить, является ли raw_input целое число?

Я нашел этот метод после исследования в Интернете:

 print isinstance(raw_input("number: ")), int) 

но когда я запускаю его и ввод 4 например, я получаю FALSE . Я немного новичок в python, любая помощь будет оценена.

4 Solutions collect form web for “Как проверить, является ли исходный ввод целочисленным в python 2.7?”

isinstance(raw_input("number: ")), int) всегда дает False потому что raw_input возвращает объект строки в результате.

Используйте try: int(...) ... except ValueError :

 number = raw_input("number: ") try: int(number) except ValueError: print False else: print True 

или используйте str.isdigit :

 print raw_input("number: ").isdigit() 

ПРИМЕЧАНИЕ . Второй дает False для -4 потому что он содержит символ без цифр. Используйте второй, если хотите только цифры.

ОБНОВЛЕНИЕ Как отметил Дж. Ф. Себастьян, str.isdigit зависит от локали (Windows). Он может возвращать True даже int() повысит ValueError для ввода.

 >>> import locale >>> locale.getpreferredencoding() 'cp1252' >>> '\xb2'.isdigit() # SUPERSCRIPT TWO False >>> locale.setlocale(locale.LC_ALL, 'Danish') 'Danish_Denmark.1252' >>> '\xb2'.isdigit() True >>> int('\xb2') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: '\xb2' 

Вы можете сделать это следующим образом:

 try: val = int(raw_input("number: ")) except ValueError: # not an integer 

вот мое решение

 `x =raw_input('Enter a number or a word: ') y = x.isdigit() if (y == False): for i in range(len(x)): print('I'), else: for i in range(int(x)): print('I'), 

`

 def checker(): inputt = raw_input("how many u want to check?") try: return int(inputt) except ValueError: print "Error!, pls enter int!" return checker() 
  • Pandas - добавьте ведущие «0» к строковым значениям, чтобы все значения были равны len
  • Строка печати Python в текстовый файл
  • Юникод, регулярные выражения и PyPy
  • SWIG-упаковка C ++ для Python: перевод списка строк в вектор STL строк STL
  • Как я могу исправить эту ошибку «TypeError: 'str' не вызываемый»?
  • Может ли преобразование в строку вызвать ошибку?
  • Как проверить, является ли переменная строкой с совместимостью с python 2 и 3
  • Как я могу печатать литеральные фигуры в фигурных скобках в строке python, а также использовать .format на нем?
  • Как обрабатывать \ 2 в пути Windows с помощью Python?
  • Почему MutableString устарела в Python?
  • Передача строки в библиотеку Fortran с использованием ctypes и Python
  • Python - лучший язык программирования в мире.