我被要求实现一个递归函数,它以非负整数n作为输入并返回用字母L,R和F编码的turtle指令,其中L表示向左旋转45度,R表示向右旋转45度,F表示向前旋转.
附加信息我有:对于每个非负整数n> 0,Levy曲线L(n)可以用Levy曲线定义L(n-1); Levy曲线L(0)只是一条直线.
    usage:
    >>> lev(0)
    'F'
    >>> lev(1)
    'LFRRFL'
我对此很新,我不知道如何开始:
到目前为止我只得到:
    from turtle import Screen, Turtle
    def lev(n):
        # base case
        if n ==0:
           return 'F'
        # recursive case
        else:
            return lev(n-1)
我在这里需要一些好的指示.
由于Levy C的L系统只有一个规则,因此使用单个替换方法构建结果字符串很简单.
def lev(n):
    if n == 0:
        return "F"
    else:
        symbols = lev(n-1)
        return symbols.replace("F", "LFRRFL")
for i in range(4):
    print lev(i)
结果:
F
LFRRFL
LLFRRFLRRLFRRFLL
LLLFRRFLRRLFRRFLLRRLLFRRFLRRLFRRFLLL
您可以通过想象图中的每条直线被两条以90度角连接的较小线代替来可视化这种替换.像这样:
