반응형
raw_input
이 정수인지 확인하는 데 사용할 수있는 방법이 있습니까?
웹에서 조사한 후이 방법을 찾았습니다.
print isinstance(raw_input("number: ")), int)
예를 들어 실행하고 4
를 입력하면 FALSE
가됩니다.
저는 파이썬에 익숙하지 않습니다. 어떤 도움을 주시면 감사하겠습니다.
해결 방법
isinstance (raw_input ( "number :")), int)
는 결과로 raw_input
이 문자열 객체를 반환하기 때문에 항상 False
를 생성합니다.
사용 try : int (...) ... (ValueError 제외
) :
number = raw_input("number: ")
try:
int(number)
except ValueError:
print False
else:
print True
print raw_input("number: ").isdigit()
참고 두 번째 문자는 숫자가 아닌 문자를 포함하므로 -4
에 대해 False
를 생성합니다. 숫자 만 원하는 경우 두 번째를 사용하십시오.
업데이트 J.F. Sebastian이 지적했듯이 str.isdigit
는 로케일에 따라 다릅니다 (Windows). int ()
조차도 True
를 반환 할 수 있습니다.
>>> 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'
참조 페이지 https://stackoverflow.com/questions/19440952
반응형
'파이썬' 카테고리의 다른 글
파이썬 in python, get the output of system command as a string (0) | 2021.01.04 |
---|---|
파이썬 BeautifulSoup Grab Visible 웹 페이지 텍스트 (0) | 2021.01.04 |
파이썬 Python을 사용하여 암호로 보호 된 Excel 파일을 여는 방법은 무엇입니까? (0) | 2021.01.04 |
파이썬 PDF 파일 열기 (0) | 2021.01.04 |
파이썬 Python3에서 printf처럼 인쇄하는 방법은 무엇입니까? (0) | 2021.01.04 |
댓글