파이썬을 이용해 계산기를 만들고있습니다...

ngh1262의 이미지

제목과 같이 파이썬을 이용해 계산기를 만들고있는데...

우선은 인터넷에 돌아다니는 소스중에 하나를 선택해서 보고 있습니다

근데 이 소스에 무조건 숫자만 입력을 하게 하거나 문자열이 들어간 것을 입력하면 다시 계산하라는 문구를 넣게하고 싶습니다

(한마디로 숫자와 문자를 구분하게 만들고 싶습니다.)

뭔가 방법보다 해결할 수 있는 소스만이라도 알려주시면 감사하겠습니다 ㅠㅠ

# -*- coding: cp949 -*-

class gaesan ():
print("계산기 프로그램 \n")
print("1. 더하기")
print("2. 빼기")
print("3. 곱하기")
print("4. 나누기")
print("5. 끝내기")

select = int(input(('input : ')))

def plus(a, b):
result = a + b
print("%s + %s = %s" % (a, b, result))

def min(a, b):
result = a - b
print("%s - %s = %s" % (a, b, result))

def multi(a, b):
result = a * b
print("%s * %s = %s" % (a, b, result))

def div(a, b):
result = a / b
print("%s / %s = %s" % (a, b, result))

if(select == 1):
print("2개의 정수를 입력하시오:")
first = int(input(('1th : ')))
second = int(input(('2nd : ')))
plus (first, second)

elif(select == 2):
print("2개의 정수를 입력하시오:")
first = int(input(('1th : ')))
second = int(input(('2nd : ')))
min (first, second)

elif(select == 3):
print("2개의 정수를 입력하시오:")
first = int(input(('1th : ')))
second = int(input(('2nd : ')))
multi (first, second)

elif(select == 4):
print("2개의 정수를 입력하시오:")
first = int(input(('1th : ')))
second = int(input(('2nd : ')))
div (first, second)

elif(select == 5):
exit()

else:
print("1 ~ 5 범위 내에서 선택하시오")

snowall의 이미지

정규표현식으로 걸러내면 안되나요? [0-9] 이렇게 하면 될것 같은데요

피할 수 있을때 즐겨라! http://melotopia.net/b

ngh1262의 이미지

아... 정규표현식을 어떤방법으로 넣어야 할지 이렇게도 해보고 저렇게도 해보는데 잘안되네요 ㅠㅠ

(정규표현식이라는것을 처음으로 공부해서 대입해보고 하는데 제가 무지한 탓에 잘안되네요 ㅠㅠ)

가르침을 좀 주실수 있을까요???ㅠㅜ

snowall의 이미지

http://docs.python.org/2/library/re.html#simulating-scanf

이 부분을 참고하면 될것같은데요

피할 수 있을때 즐겨라! http://melotopia.net/b