# -*- coding:utf-8 -*-
print "HW2_2 함수 사용<반환값 사용> 과제"
print "사칙연산 계산기 프로그램"
def plus(x,y) :
return x+y
def minus(x,y) :
return x-y
def divide(x,y) :
return x/y
def time(x,y) :
return x*y
c = input("연산자 입력<덧셈 +, 뺄셈 -, 나눗셈 /, 곱셈 *> : ")
if c == + :
x = input("숫자 1 : ")
y = input("숫자 2 : ")
print "덧셈 결과",plus
elif c == - :
x = input("숫자 1 : ")
y = input("숫자 2 : ")
print "뺄셈 결과",minus
elif c == / :
x = input("숫자 1 : ")
y = input("숫자 2 : ")
print "곱셈 결과",divide
elif c == * :
x = input("숫자 1 : ")
y = input("숫자 2 : ")
print "나눗셈 결과",time
else :
print "잘못된 연산자를 입력하였습니다."
인데 if c == + : 에서 막히네...... 저거 뭐로 바꿔야할까....
님아 잘못된 점이 너무 많네요
c == '+'로 나머지 조건문도 다 바꾸시고요 input을 쓰면 파이썬3이란 소리인데 print한 다음에 괄호를 안쓴거 보면 파이썬2고 문법이 완전히 뒤섞였네요. 그리고 또 프린트 문에서 plus만 쓴다고 함수 호출이 되는게 아니라 plus(int(x),int(y))이런 식으로 괄호쓰고 인자까지 전달해야지 함수가 호출되는 거에요. 이때 int(x), int(y)를 쓰는 이유는 파이썬은 입력을 받으면 무조건 문자열로 받기 때문에 님이 만든 함수를 쓰더라도 그냥 입력받은 문자열 두개가 붙어서 나오기 때문에 계산기 역할을 못해요. 그래서 정수형으로 고쳐주고 넣기 위해서 저렇게 인자를 전달하는 겁니다.
그리고 마지막 사소한 실수 하나, 왜 '*'이 들어갔는데 나눗셈 결과가 나오고 '/'가 들어갔는데 곱셈결과가 나오는 거죠? 이거는 뭐 실수할 수 있는 부분이긴 한데 그래도 집어드립니다.
말하신대로 바꿔봤는데도 자꾸 에러뜨네요 파이썬은 2.7쓰고있고 input은 학교에서 배운대로 썼습니당... File "<string>", line 1 에 에러뜨는데 대체 뭘까요
해결 봤습니다 지적 정말 감사합니다