复习:简单计算器
本课属于 Coddy GDScript 学习旅程的“面向对象编程”单元。第 8 课,共 65 课。
挑战
中等在 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 在线编译器