from turtle import * from math import copysign from kandinsky import fill_rect fill_rect(0,0,320,222,(0,0,0)) def couleur(n): couleurs = (255, 0, 0), (255, 127, 0), (255, 255, 0), (0, 255, 0), (0, 0, 255), (127, 0, 255) dizaine = n // 10 index = dizaine % len(couleurs) return couleurs[index] def demi_cercle(x, y): rayon = abs(y - x) // 2 penup() goto(x - 150, 0) pendown() circle(int(rayon * sens), 180) def suite_recaman(n_terms): global orient, sens prev, seen = 0, {0} for n in range(1, n_terms + 1): suiv = prev - n if suiv <= 0 or suiv in seen: suiv = prev + n seen.add(suiv) setheading(orient) sens = - copysign(1,orient) if suiv < prev: sens = - sens color(couleur(n)) demi_cercle(3 * prev, 3 * suiv) prev = suiv orient = - orient speed(0) pensize(2) orient = -90 suite_recaman(66) hideturtle()