"""
测试递归函数
"""
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8')
sys.path.insert(0, 'g:/codeartswork/newlisp')
from repl import REPL
repl = REPL()
print("\n" + "="*60)
print("【文言心】递归函数测试")
print("="*60)
print("\n测试1:阶乘函数")
print("-" * 40)
code1 = """定义函数
函数名为阶乘。
参数为n。
若n等1则返回1。
否则返回n乘阶乘n减1。
函数结束
印阶乘5。"""
print(f"代码:\n{code1}")
print("-" * 40)
result1 = repl.execute(code1)
print(f"结果: {result1}")
print("\n\n测试2:累加函数")
print("-" * 40)
code2 = """定义函数
函数名为累加。
参数为n。
若n等0则返回0。
否则返回n加累加n减1。
函数结束
印累加10。"""
print(f"代码:\n{code2}")
print("-" * 40)
result2 = repl.execute(code2)
print(f"结果: {result2}")
print("\n" + "="*60)
print("递归函数测试完成!")
print("="*60)