컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post Python/파이썬] sys.argv 명령행 옵션 구하기(인수;아규먼트;매개변수;Comma...Python/파이썬] 팩토리얼의 자연 로그 구하기 함수, Log Factorial; lnF...Excel/엑셀] 팩토리얼(Factorial) 값 구하기 함수, 계승 계산 하는 법윈도우 계산기] 팩토리얼(Factorial) 값 구하기, 계승 계산 하는 법; Calc W...Python/파이썬] 팩토리얼 구하기(Factorial 값 계산) 소스; 1~100 (0~...팩토리얼(Factorial) 구하기 프로그램 소스, 팩토리얼(계승)이란? [수학Java/자바] 팩토리얼 구하기(Factorial 값 계산) 소스; 1~100 (0~100...자바스크립트: 영문(미국식) 날짜/시간 문자열 간단히 출력; Time Stamp JavaS...Perl/펄] 한국식 날짜/시간 문자열(타임 스탬프) 출력: ISO Time StampPerl/펄] 영문(미국식) 날짜/시간 문자열 간단히 출력; scalar localtime...

Python/파이썬] 숫자 여부 판단 함수, 실수/정수인지 문자인지; isNumber isNum isNumeric

Wednesday, January 17, 2007

예를 들어 "123" 등의 문자열은 숫자로 이루어져 있기에 123 등의 진짜 숫자로 변환할 수 있습니다. 그러나 "ZZZ" 등의 문자열은 숫자로 변환할 수 없습니다.

어떤 문자열이 숫자로 이루어져 있는지, 즉, 숫자로 변환할 수 있는 문자열인지 아닌지 판단하는 함수가 파이썬에는 내장되어 있지 않더군요.

따라서 다음의 isNumber() 같은 함수를 직접 만들어야 합니다.


문자열이, 숫자(정수/실수)인지, 문자인지 알아내기 예제
숫자로 된 문자열은 참(True)을, 숫자로 변환할 수 없는 문자열은 거짓(False)을 반환합니다.
#!/usr/bin/python
# -*- coding: cp949 -*-


def isNumber(s):
  try:
    float(s)
    return True
  except ValueError:
    return False



print isNumber("123");
# 출력 결과: True

print isNumber("123.0");
# 출력 결과: True

print isNumber("+.5");
# 출력 결과: True

print isNumber(123);
# 출력 결과: True



print isNumber("123ZZZ");
# 출력 결과: False

print isNumber("0xFF");
# 출력 결과: False         # 16진수 문자열은 인식 못함. 다만, 16진수 숫자는 됨

print isNumber('');        # 빈 문자열
# 출력 결과: False

print isNumber('     ');   # 공백 문자
# 출력 결과: False




위의 함수를 실제 사용한 예제 프로그램: ▶▶ Python/파이썬] 실행시 옵션으로, 숫자 입력 받기 예제, Input Number argv (Argument, Option)



문자열을 숫자로 변환: ▶▶ Python/파이썬] 문자열을 숫자로 변환; 문자를 정수(int, long), 실수(float)로 바꾸기; String to Number

파이썬 강좌와 각종 예제

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top