代码编织梦想

ICode国际青少年编程竞赛- Python-6级训练场-多次递归

1、
在这里插入图片描述

def recur(n):
    # 边界条件
    if n<1:
        return
    
    # 额外动作
    Dev.turnLeft()
    Dev.step(n)
    Dev.turnRight()
    Dev.step(n)
    Dev.step(-n)
    Dev.turnRight()
    Dev.step(2*n)
    Dev.turnLeft()
    Dev.step(n)
    
    
    
    # 递归调用
    recur(n-1)
recur(4)

2、

在这里插入图片描述

def recur(n):
    # 边界条件
    if n<1:
        return
    # 额外动作
    Dev.turnLeft()
    Dev.step(n)
    
    recur(n-1)
    
    Dev.step(-2*n)
    
    recur(n-1)
    
    Dev.step(n)
    Dev.turnRight()
    
    # 递归调用
recur(4)

3、
在这里插入图片描述

def recur(n):
    # 边界条件
    if n < 1: 
        return
    # 额外动作
    Dev.turnLeft()
    Dev.step(n)
    recur(n-1)
    Dev.step(-2*n)
    recur(n-1)
    Dev.step(n)
    Dev.turnRight()
    # 递归调用
recur(5)

4、

在这里插入图片描述

def recur(n):
    # 边界条件
    if n < 1: 
        return
    # 额外动作
    Dev.turnLeft()
    Dev.step(n)
    Dev.turnRight()
    Dev.step(n)
    
    recur(n-2)
    
    Dev.step(-n)
    Dev.turnLeft()
    Dev.step(-2*n)
    Dev.turnRight()
    Dev.step(n)
    
    recur(n-2)
    
    Dev.step(-n)
    Dev.turnLeft()
    Dev.step(n)
    Dev.turnRight()
    # 递归调用
recur(5)

5、
在这里插入图片描述

def recur(n):
    # 边界条件
    if n < 1: 
        return
    # 额外动作
    Spaceship.turnLeft()
    Spaceship.step(n)
    Spaceship.turnRight()
    Spaceship.step(n)

    recur(n-2)
    
    Spaceship.turnRight()
    Spaceship.turnRight()
    Spaceship.step(n)
    Spaceship.turnLeft()
    Spaceship.step(2*n)
    Spaceship.turnLeft()
    Spaceship.step(n)
    
    recur(n-2)
    
    Spaceship.turnRight()
    Spaceship.turnRight()
    Spaceship.step(n)
    Spaceship.turnRight()
    Spaceship.step(n)
    Spaceship.turnRight()
    # 递归调用
recur(5)

6、

在这里插入图片描述

def recur(n):
    if n >= 1:
        Dev.turnLeft()
        Dev.step(n)
        Dev.turnRight()
        Dev.step(2)
        recur(n/2)
        Dev.step(-2)
        Dev.turnRight()
        Dev.step(2*n)
        Dev.turnLeft()
        Dev.step(2)
        recur(n/2)
        Dev.step(-2)
        Dev.turnRight()
        Dev.step(-n)
        Dev.turnLeft()
        
recur(4)

7、
在这里插入图片描述

def move(n):
    if n >= 1:
        Dev.turnRight()
        Dev.step(n)
        Dev.turnLeft()
        Dev.step(n)
        move(n/2)
        Dev.step(-n)
        Dev.turnLeft()
        Dev.step(2*n)
        Dev.turnRight()
        Dev.step(n)
        move(n/2)
        Dev.step(-n)
        Dev.turnRight()
        Dev.step(n)
        Dev.turnLeft()
move(4)

8、
在这里插入图片描述

def move(n):
    Dev.step(n)
    if n > 1:
        Dev.turnRight()
        Dev.step(n/2)
        Dev.turnLeft()
        move(n/2)
        Dev.turnRight()
        Dev.step(-n)
        Dev.turnLeft()
        move(n/2)
        Dev.turnRight()
        Dev.step(n/2)
        Dev.turnLeft()
    Dev.step(-n)
move(8)

9、

在这里插入图片描述

def move(n):
    Dev.step(n)
    Dev.turnRight()
    Dev.step(n-1)
    if n > 2:
        Dev.turnLeft()
        move(n-2)
        Dev.turnRight()
    Dev.step(-2*(n-1))
    if n > 2:
        Dev.turnLeft()
        move(n-2)
        Dev.turnRight()
    Dev.step(n-1)
    Dev.turnLeft()
    Dev.step(-n)
move(6)

10、

在这里插入图片描述

def move(a, b):
    Dev.step(a)
    if a > 1: 
        move(a-3, 0)
    Dev.step(-a)
    Dev.turnRight()
    Dev.step(a)
    if a > 1: 
        Dev.turnLeft()
        move(a-3, 1)
    Dev.step(-a)
    if b == 0: 
        Dev.turnLeft()
move(7, 0)

11、
在这里插入图片描述

def move(a, b):
    Dev.step(a)
    if a > 1: 
        move(a/2, 0)
    Dev.step(-a)
    Dev.turnLeft()
    Dev.step(a)
    if a > 1: 
        Dev.turnRight()
        move(a/2, 1)
    Dev.step(-a)
    if b == 0: 
        Dev.turnRight()
move(8, 0)

12、
在这里插入图片描述

def move(a):
    Dev.turnLeft()
    Dev.step(a)
    Dev.turnRight()
    Dev.step(a)
    if a > 1: 
        move(a-2)
    Dev.step(-a)
    Dev.turnRight()
    Dev.step(2*a)
    if a > 1: 
        Dev.turnLeft()
        Dev.step(a-1)
        move(a-2)
        Dev.step(1-a)
        Dev.turnRight()
    Dev.step(-a)
    Dev.turnLeft()
move(5)

13、
在这里插入图片描述

def move(a):
    Dev.turnLeft()
    Dev.step(a)
    if a > 2: 
        move(a-1)
    Dev.step(-(2*a-1))
    Dev.turnLeft()
    Dev.turnLeft()
    if a > 2: 
        move(a-1)
    Dev.step(1-a)
    Dev.turnLeft()
move(5)

14、
在这里插入图片描述

def move(a, b):
    Dev.step(a)
    if b > 1: 
        move(a-1, b-3)
    Dev.turnRight()
    Dev.step(b)
    if b > 1:
        Dev.turnLeft()
        move(a-1, b-3)
        Dev.turnRight()
    Dev.step(-b)
    Dev.turnLeft()
    Dev.step(-a)
move(5, 7)

15、

在这里插入图片描述

def move(n):
    if n < 1: 
        return
    Dev.turnRight()
    Dev.step(n)
    Dev.turnLeft()
    if n > 1: 
        Dev.step(2)
    if n == 1: 
        Dev.step(1)
    move(n/2)
    
    if n == 1: 
        Dev.step(-1)
    if n != 1: 
        Dev.step(-2)
    Dev.turnRight()
    Dev.step(-2*n)
    Dev.turnLeft()
    if n == 1: 
        Dev.step(1)
    if n != 1: 
        Dev.step(2)
    
    move(n/2)
    if n == 1: 
        Dev.step(-1)
    if n != 1: 
        Dev.step(-2)
    Dev.turnLeft()
    Dev.step(-n)
    Dev.turnRight()
    
move(4)

16、
在这里插入图片描述

def move(a):
    Dev.turnLeft()
    Dev.step(a)
    if a > 1: 
        move(a-1)
    Dev.step(-a)
    Dev.turnLeft()
    Dev.step(1-a)
    Dev.step(a-1)
    Dev.turnLeft()
    Dev.step(a)
    if a > 1: 
        move(a-1)
    Dev.step(-a)
    Dev.turnLeft()
move(4)

17、
在这里插入图片描述

def move(n):
    Dev.step(n)
    if n > 1: 
        move(n-2)
    Dev.step(-n)
    Dev.turnLeft()
    Dev.step(n)
    if n > 1: 
        move(n-2)
    Dev.turnLeft()
    Dev.turnLeft()
    Dev.step(2*n)
    if n > 1: 
        move(n-2)
    Dev.step(-n)
    Dev.turnLeft()
move(5)

18、

在这里插入图片描述

def move(a):
    Dev.step(a)
    if a > 1: 
        move(a-2)
    Dev.step(-a)
    Dev.turnLeft()
    Dev.step(a)
    if a > 1: 
        move(a-2)
    Dev.turnLeft()
    Dev.turnLeft()
    Dev.step(2*a)
    if a > 1: 
        move(a-2)
    Dev.step(-a)
    Dev.turnLeft()
Dev.step(2)
move(5)

19、

在这里插入图片描述

def move(a):
    Dev.step(a)
    Dev.turnRight()
    Dev.step(a)
    if a > 1: 
        move(a-1)
    Dev.turnLeft()
    Dev.step(a)
    if a > 1: 
        move(a-1)
    Dev.turnLeft()
    Dev.step(a)
    if a > 1:
        move(a-1)
    Dev.turnRight()
    Dev.step(-2*a)
move(3)

20、

在这里插入图片描述

def move(a, b, c):
    Dev.step(a)
    Dev.turnLeft()
    Dev.step(b-1)
    if b > 1: 
        Dev.turnRight()
        move(a-1, b-2, c-2)
        Dev.turnLeft()
    Dev.step()
    Dev.turnLeft()
    if b > 1: 
        Dev.step(c)
        Dev.step(-c)
    Dev.turnLeft()
    Dev.step(2*b-1)
    if b > 1: 
        Dev.turnLeft()
        move(a-1, b-2, c-2)
        Dev.turnRight()
    Dev.step()
    if b > 1: 
        Dev.turnRight()
        Dev.step(c)
        Dev.step(-c)
        Dev.turnLeft()
    Dev.step(-b)
    Dev.turnLeft()
    Dev.step(-a)
move(4, 5, 3)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/QD_Jason/article/details/138785042

icode国际青少年编程竞赛-爱代码爱编程

ICode国际青少年编程竞赛- Python-1级训练场-识别循环规律1 1、 for i in range(4): Dev.step(6) Dev.turnLeft() 2、

icode国际青少年编程竞赛-爱代码爱编程

ICode国际青少年编程竞赛- Python-1级训练场-路线规划 1、 Dev.step(3) Dev.turnLeft() Dev.step(4) 2、 Dev.step(3) Dev.

icode国际青少年编程竞赛-爱代码爱编程

ICode国际青少年编程竞赛- Python-1级训练场-基础训练2 1、 a = 4 # 变量a存储的数字是4 Dev.step(a) # 因为变量a的值是4,所以Dev.step(a)就相当于

icode国际青少年编程竞赛-爱代码爱编程

ICode国际青少年编程竞赛- Python-1级训练场-变量入门 1、 a = 4 Dev.turnRight() Dev.step(a) 2、 a = 4 Spaceship.step(a

icode国际青少年编程竞赛-爱代码爱编程

ICode国际青少年编程竞赛- Python-1级训练场-基本操作 1、 Dev.step(3) 2、 Dev.step(1) 3、 Dev.step(7) 4、 Dev.st

icode国际青少年编程竞赛-爱代码爱编程

ICode国际青少年编程竞赛- Python-1级训练场-基础训练1 1、 Dev.step(4) 2、 Dev.step(-4) Dev.step(8) 3、 Dev.turnLef

icode国际青少年编程竞赛-爱代码爱编程

ICode国际青少年编程竞赛- Python-1级训练场-for循环与变量 1、 a = 1 for i in range(4): Spaceship.step(a) Dev.ste

icode国际青少年编程竞赛-爱代码爱编程

ICode国际青少年编程竞赛- Python-1级训练场-for循环入门 1、 for i in range(4): Dev.step(4) Dev.turnLeft() 2、

icode国际青少年编程竞赛-爱代码爱编程

ICode国际青少年编程竞赛- Python-1级训练场-for循环练习 1、 for i in range(3): Dev.step(4) Dev.turnLeft() 2、