A voir également:
- Modification couleur d'un caractère
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Suivi de modification word - Guide
- Caractère spéciaux - Guide
- Logiciel modification pdf gratuit - Guide
1 réponse
Bonsoir.
La solution la plus basique est d'utiliser une simple fonction et un modulo.
Mais ce n'est pas ce qu'il y a de mieux à faire, car cela nécessite d'utiliser une variable hors de la fonction.
On peut alors fourrer tout cela dans une simple classe pour rendre cela un peu plus propre.
J'ai utilisé ici la méthode __next__ pour obtenir la couleur suivante, mais tu peux utiliser ce que tu veux comme nom de méthode, get, couleur, etc.
Mais en python, il y aussi les générateurs qui s'utilise avec le mot clef python yield.
Comme tu vois, il y a de multiples façons de procéder, la 1ère étant à éviter amha.
La solution la plus basique est d'utiliser une simple fonction et un modulo.
couleurs = ('#ff0000', '#ffff00', '#0000ff') index_couleur = 0 def generer_couleur(): global index_couleur couleur = couleurs[index_couleur%len(couleurs)] index_couleur += 1 return couleur
Mais ce n'est pas ce qu'il y a de mieux à faire, car cela nécessite d'utiliser une variable hors de la fonction.
On peut alors fourrer tout cela dans une simple classe pour rendre cela un peu plus propre.
class Couleurs: def __init__(self): self.couleurs = ('#ff0000', '#ffff00', '#0000ff') self.len = len(self.couleurs) self.index = 0 def __next__(self): couleur = self.couleurs[self.index%self.len] self.index += 1 return couleur couleurs = Couleurs() for _ in range(5): print(next(couleurs))
J'ai utilisé ici la méthode __next__ pour obtenir la couleur suivante, mais tu peux utiliser ce que tu veux comme nom de méthode, get, couleur, etc.
Mais en python, il y aussi les générateurs qui s'utilise avec le mot clef python yield.
def generer_couleurs(couleurs): i = 0 while True: try: yield couleurs[i] except IndexError: i = 0 continue i += 1 couleurs = ('#ff0000', '#ffff00', '#0000ff') couleur = generer_couleurs(couleurs) for _ in range(5): print(next(couleur))
Comme tu vois, il y a de multiples façons de procéder, la 1ère étant à éviter amha.