Hola a todos, soy bolas de zanahoria con col
La vida es demasiado corta, Python es una canción
importación de proyectos
Versión 6.0: use la función recursiva para lograr el dibujo de pentagramas repetidos
Análisis del proyecto - aclaración de ideas
- Analizar el problema: La parte computacional del problema de análisis
- Definición del problema: división de las partes de entrada, procesamiento y salida del problema (IPO)
- Diseño de algoritmos: el corazón de la sección computacional
Aprendizaje de puntos de conocimiento: desde cero
función recursiva
La forma en que una definición de función llama a una función en sí misma se llama recursividad.
Capacidad para resolver problemas importantes de manera muy sucinta.
Cada vez que se llama a la función, los parámetros de la función se almacenarán temporalmente y no hay influencia mutua. Cuando se alcanza la condición de finalización, cada función finaliza la operación capa por capa. Al devolver el resultado del cálculo, preste atención a la construcción de la condición de terminación, de lo contrario, la recursividad no puede devolver el resultado normalmente.
def digui (num) #定义递归函数
print(num) #输出当前教字
if num>0: #判断当前数字是否>0
digui(nun-1) #调用函数本身
else:
print('----')
print (num) #再次输出当前数字
digui(3)
#运行过程
digui (3)
print (3)
if 3>0:
digui (2): #调用函数本身
print(2)
if 2>0
digui(1) #调用函数木身
print (1)
if 1>0
digui (0): #调用函数本身
print (0)
if 0>0:
digui(num-1) #调用函数本身
else :
print ('---')
print (0)
print(1)
print (2)
print (3)
ventajas y desventajas de la recursividad
ventaja:
La recursividad hace que el código se vea más limpio y elegante
Las tareas complejas se pueden dividir en subproblemas más simples con la recursividad. Es más fácil usar la recursividad que usar algunas iteraciones anidadas.
defecto:
La lógica recursiva es difícil de depurar y seguir
Los algoritmos recursivos son menos eficientes para resolver problemas. En el proceso de llamada recursiva, el sistema abre una pila para almacenar el punto de retorno, la cantidad local, etc. de cada capa. La recursividad excesiva puede conducir fácilmente a un desbordamiento de pila, etc.
Programación práctica: práctica, deja que el programa se ejecute
código de referencia
"""
作者:白菜胡萝丸子
版本6.0:使用递归函数实现重复五角星的绘制
"""
import turtle
def pentagram(side_length):
i = 0
while i < 5:
turtle.forward(side_length)
turtle.right(144)
i = i + 1
side_length = side_length + 100
if side_length <= 500:
pentagram(side_length)
def main():
turtle.speed(10)
side = 100
pentagram(side)
turtle.exitonclick()
if __name__ == "__main__":
main()
Resultados de la
Llévelo al siguiente nivel: deje que el programa evolucione un poco
Además de las tortugas para dibujar gráficos, ¿hay algún otro método o biblioteca para dibujar gráficos en Python? Control de lienzo