0
그래서 내 계산 '의 정의되지 않은 것으로, 오류 메시지, 더 나은 수준의 장식을 이해를하려고 노력했다저는 파이썬에서 OOP 방식으로 간단한 계산기를 만들었습니다. 내 변수가
class Calc():
@staticmethod
def add(x, y):
return x + y
.
.
.
@staticmethod
def div(x, y):
return x/y
@staticmethod
def get_numbers():
num1 = int(input("Enter first number: "))
num2 = int(input("Enter second number: "))
return num1, num2
@staticmethod
def get_operator():
operator = input('Please enter an operator (+, -, *, /): ')
return operator
@classmethod
def calculate(cls):
cls.get_numbers()
cls.get_operator()
if operator == '+':
print(add(num1, num2))
elif operator == '-':
print(sub(num1, num2))
elif operator == '*':
print(mul(num1, num2))
elif operator == '/':
print(div(num1, num2))
Calc.calculate()
내가 그것을 실행하면,이 얻을 :
Traceback (most recent call last):
File "calc_feltoltesre.py", line 44, in <module>
Calc.calculate()
File "calc_feltoltesre.py", line 32, in calculate
get_numbers()
NameError: name 'get_numbers' is not defined
을
연산자와 num1 및 num2가 범위에서 보이지 않는 이유는 알 수 없습니다.
귀하의 역 추적하고 일치하지 않습니다 게시 된 코드를. 게시 한 코드는'cls.get_numbers()'를 사용하지만, 추적 코드에는'cls.'라는 접두사가 없다. 당신이 직장을 구했는지 확신합니까? –
또한 클래스 메쏘드와 정적 메쏘드가 모두있는 경우 *를 사용하십시오. 모듈에서이 모든 것을 함수로 만들 수도 있습니다. –
기본 연습용입니다. 그것은 내가 장식 자의 갑부와 기저귀를 도울 수 있습니다. – dmbdnr