정말 간단한 함수를 작성하려고합니다. 지정된 객체가 숫자 (0-9)이면 True를 반환하고, 그렇지 않으면 False를 반환합니다. 다음은 입력 및 원하는 출력의 예입니다.공백 문자와 int (str)을 포함하는 python-str
is_digit("") => False
is_digit("7") => True
is_digit(" ") => False
is_digit("a") => False
is_digit("a5") => False
위 코드는 내 코드에서 작동합니다.
def is_digit(n):
try:
return int(n) in range(0, 10)
except:
return False
문제는 False를 반환해야 할 때 기능은 n = "1\n"
에 대한 True를 반환한다. 따라서 "1"과 같은 문자열은 정수로 변환되어야하며 숫자이지만 "1 \ n"과 같은 문자열은 없어야합니다. 그러나 그 문제를 해결하는 방법을 모르겠습니다. 문자열 리터럴을 어떻게 설명 할 수 있습니까?
P. 내 제목이 불충분하다면 이름 바꾸기에 대한 조언을 환영합니다.
음 ... 당신은'str.isdigit'를 재발견하려고? – deceze
농담 해 : –
고마워, 지금 내 질문을 삭제합니다 ... 편집 : 실제로, 호기심에, 거기에 공백 문자가 문자열에 들어 있는지 확인할 수있는 방법이 있습니까? –