Как проверить, является ли исходный ввод целочисленным в 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() 
  • Что означает «u» в списке?
  • SWIG-упаковка C ++ для Python: перевод списка строк в вектор STL строк STL
  • Разделение разделенных запятыми строк в python
  • Разбор строки, представляющей список кортежей
  • Преобразование строки в список слов?
  • Pandas read_csv dtype - ведущие нули
  • В Django models.py, в чем разница между значением по умолчанию, нулем и пробелом?
  • Чтение файла в кусках - использование ОЗУ, чтение строк из двоичных файлов
  • Python - лучший язык программирования в мире.