python에서 input을 통해 함수를 입력하고 싶습니다.

조회수 1016회

A, B, C, D 값을 input으로 받은 다음에, input으로 F라는 변수에 A,B,C,D를 이용한 간단한 사칙연산을 입력하면 그 값을 계산하는 프로그램을 만들고 싶습니다. 하지만 input으로 A+B/C-D와 같은 사칙연산 식을 입력하면, "A+B*C-D"를 문자열로서 인식하게 되고 후에 이 값을 대입하여도 그저 문자열을 출력하기만 합니다. int를 통해 변수 F의 자료형을 변환하려 하여도 A~D가 정의가 안 되었다며 오류가 발생합니다. 제가 작성해본 코드는 아래와 같습니다.

1) A=input() B=input() C=input() D=input() F=input(' A~D를 이용한 사칙연산을 입력해주세요>>') A=int(A) B=int(B) C=int(C) D=int(D)

def calculation(A,B,C,D): print (F)

calculation(A,B,C,D) c=input()

**실행후) A,B,C,D에 1,2,3,4를 입력후, F에 A+B+C+D를 입력하면 결과값이 A+B+C+D의 문자열이 출력 됨. F=int(F)를 추가하면 실행시 아래와 같은 오류가 발생함.

================== RESTART: C:\Users\msshi\Desktop\test.py ==================a 1 2 3 4 A~D를 이용한 사칙연산을 입력해주세요>>A+B+C+D Traceback (most recent call last): File "C:\Users\msshi\Desktop\test.py", line 10, in F=int(F) ValueError: invalid literal for int() with base 10: 'A+B+C+D'

어떻게하면 제가 A,B,C,D에 무작위로 숫자를 넣고 F 값에 A+B-C/D 나 (A-B)/C+D 등 다양한 사칙연산을 넣었을 때 그 값을 대입한 A,B,C,D에 따라 연산해주는 프로그램을 만들 수 있을까요?

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)