Menu
CoddyTech

복습 - 간단한 계산기

Coddy GDScript 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨. 65개 중 8번째.

challenge icon

챌린지

중급

calculator.gd에 Calculator 클래스를 작성하세요. 이 클래스는 float 속성 result에 누적 결과를 저장하며, 초기값은 0.0입니다.

  • add(number), subtract(number), multiply(number) 및 divide(number)는 number를 사용해 result에 연산을 적용하고, 새 결과를 저장한 뒤 반환합니다.
  • divide()가 0을 받으면 Error: Division by zero를 출력하고, result를 변경하지 않은 채 반환합니다.
  • clear()는 result를 다시 0.0으로 설정하고 반환합니다.
  • get_result()는 result를 반환합니다.

제공된 코드는 뒤따르는 명령의 개수를 읽은 다음, 한 줄에 하나씩 add 5, divide 0 또는 clear와 같은 명령을 읽습니다. 각 명령을 처리한 후 명령 이름과 메서드가 반환한 값을 출력하고, 마지막에 최종 결과를 출력합니다. add 5, multiply 3, subtract 2, divide 0 및 divide 2를 입력하면 다음을 출력합니다.

add -> 5.0
multiply -> 15.0
subtract -> 13.0
Error: Division by zero
divide -> 13.0
divide -> 6.5
Final result: 6.5

코드는 calculator.gd에 작성하세요. main.gd에는 제공된 입력/출력 코드가 있으며 수정할 수 없습니다.

직접 해보기

extends Node

func _ready():
	# 제공된 입력/출력 코드: 그대로 유지하세요
	var calc := Calculator.new()
	var count := int(OS.read_string_from_stdin())
	for i in count:
		var parts := OS.read_string_from_stdin().split(" ")
		var value := 0.0
		match parts[0]:
			"add":
				value = calc.add(float(parts[1]))
			"subtract":
				value = calc.subtract(float(parts[1]))
			"multiply":
				value = calc.multiply(float(parts[1]))
			"divide":
				value = calc.divide(float(parts[1]))
			"clear":
				value = calc.clear()
		print("%s -> %s" % [parts[0], value])
	print("Final result: %s" % calc.get_result())

객체 지향 프로그래밍의 모든 레슨

직접 연습해 보세요: 온라인 GDScript 컴파일러