파이썬 클래스, 함수 왕초보 질문합니다... ㅠ

조회수 818회

클래스 공부 해본답 시고 혼자서 만들어보고 있는데... 덧셈 뺄셈 나눗셈 곱셈 계산기를 만들어보고 싶습니다. 완전 초보라 제가 아는 지식을 동원해서 코딩을 짜고있는데 input 값을 다 받고 나서 계산을 하는 과정에서 오류가 발생합니다. 뭔가 클래스나 함수 사용이 잘못된거 같은데 뭐가 잘못된건지 알려주실 수 있나요 우선은 덧셈 구현하다 막힌 상태에요

class cal:
    def plus(self,a,b):
        return self,a+b

    def minus(self,a,b):
        return self,a-b

    def multi(self,a,b):
        return self, a*b

    def half(self, a,b):
        return self, a/b

while True :

    start = input("+ : 더하기 , - : 뺴기 , * : 곱하기, / : 나누기 : ")

    if start == '+':
        num1 = int(input("더할 숫자 입력 : "))
        num2 = int(input("더할 숫자 입력 : "))
        total = (num1,num2)
        total = cal
        total.plus()
  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 안녕하세요!

    1. 클래스안의 함수 리턴과
    2. 객체 생성 부분이 약간 이상한것 같네요

    먼저

       def plus(self,a,b):
            return self,a+b
    

    return 문 뒤에 self는 없어도 됩니다.

    그리고 마지막 3줄

    total = (num1,num2) # 이거는 지워주고요
    total = cal   #여기에 () 이걸추가해서 클래스를 객체로 만듭니다!
    total.plus()  # plus() 이 안에 num1, num2를 넣어줍니다
    

    그러면

    
    class cal:
        def plus(self, a,b):
            return a+b
    
    
    while True :
    
        start = input("+ : 더하기 , - : 뺴기 , * : 곱하기, / : 나누기 : ")
    
        if start == '+':
            num1 = int(input("더할 숫자 입력 : "))
            num2 = int(input("더할 숫자 입력 : "))
            total = cal()
            total.plus(num1,num2)
    

    이런식으로 되겠죠? 수고하세요.

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

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

(ಠ_ಠ)
(ಠ‿ಠ)