Afficher un sapin de Noël en python
Bonjour,
Je travaille sur un devoir sur les chaîne de caractère à rendre pour demain mais cela fait un moment que je bloque et je n'arrive pas à avancer sur la suite donc je sollicite de l'aide .
L'exercice consiste à faire un sapin de noël , mais je suis bloqué sur le feuillage et les boules de noël .
Voila ce que j'ai commencé à faire :
def sapin_de_noel():
print(" "*8+"*")
print(" "*8+"^")
for i in range(1,8):
print(" "*(8-i)+"/" +" "*(i*2-1)+"\\")
for k in range(3):
print(" "*7+"|||")
*
^
/ \
/ \
/ \
/ \
/ \
/ \
/ \
|||
|||
|||
Et donc il faut modifier le programme afin d'afficher la texture du feuillage , en alternant les guillemets simple(') et double(") et puis dans ce feuillage faire afficher des boules de noël aléatoirement .
Je pense que l'exercice doit être assez simple mais j'ai du mal à comprendre sinon je vous remercie d'avance :) .
7 réponses
-
C'est mieux
Maintenant, il n'y a plus qu'à insérer les guillemets et les boules dans la 1ere boucle for,
juste entre l'affichage de de / et celui de \, en calculant les espaces en fonction de i comme tu
le fait déjà pour / et \
Mais tel quel, ton code n'affiche rien: tu défini une fonction, mais tu ne l'appelles pas
-
Mais comment on fait pour que les guillemets s'alternent? ( c'est surtout ça que je n'ai pas très bien compris )
-
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Tu peux écrire "'" et '"'
Et que donnera selon toi: '"'+"'" ?
Sais-tu ce qu'est le slicing? -
Bonjour
Pour écrire alternativement des A et des B tu peux écrire par exemple :
s = "" for i in range(10): s += "A" if i % 2 == 0 else "B" print(s) # Affiche "ABABABABAB"ou mieux :
s = "".join( "A" if i % 2 == 0 else "B" for i in range(10) ) print(s) # Affiche "ABABABABAB"ou encore mieux :
s = "AB" * 5 print(s) # Affiche "ABABABABAB"
Il ne reste plus qu'à intégrer l'une de ces recettes à ton code.
Bonne chance
-
J'ai essayer en ajoutant une condition mais sa n'a pas l'air de fonctionner , il doit y avoir un problème au print de la première boucle surement mais je ne sais pas ce qu'il faut ajouter
def sapin_2(): print(" "*8+"*") print(" "*8+"^") feuillage="" for i in range(1,8): if feuillage=="\"" : feuillage=feuillage+"'" else: feuillage=feuillage+"\"" print(" "*(8-i)+"/"+feuillage*(i*2-1)+"\\") for k in range(3): print(" "*7+"|||")et je sais pas si je dois utiliser plusieurs fonction mon prof ne l'a pas mentionner
