Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pattern python programm

2 réponses
Avatar
AchrafG
Bonjour,

Je suis débutant sur Python, j'essaye de pratiquer plus d'exercices pour apprendre.
je me suis bloqué sur un exercice qui demande de tracer le le modèle ci-après en utilisant la boucle for et la boucle while :
*
####*####
########*########
####*####
*
(les étoiles doivent être au centre)

pouvez vous m'aider svp ?

2 réponses

Avatar
Benoit Izac
Bonjour,
Le 03/11/2020 Í  14:01, AchrafG a écrit dans le message
 :
Je suis débutant sur Python, j'essaye de pratiquer plus d'exercices
pour apprendre.
je me suis bloqué sur un exercice qui demande de tracer le le modèle
ci-après en utilisant la boucle for et la boucle while :
*
####*####
########*########
####*####
*
(les étoiles doivent être au centre)
pouvez vous m'aider svp ?

Tu veux dire comme ça ?
*
####*####
########*########
####*####
*
Un petit coup de pouce :
i=0
'#'*i + '*' + '#'*i



'*'
i=3
'#'*i + '*' + '#'*i



'###*###'
Il reste encore un peu de travail pour arriver Í  produire le motif mais
ça devrait te donner une partie de la solution.
Tu peux poster ton code ici Í  l'issue.
--
Benoit Izac
Avatar
Pierre Maurette
AchrafG :
Bonjour,
Je suis débutant sur Python, j'essaye de pratiquer plus d'exercices pour
apprendre.
je me suis bloqué sur un exercice qui demande de tracer le le modèle ci-après
en utilisant la boucle for et la boucle while :
*
####*####
########*########
####*####
*
(les étoiles doivent être au centre)
pouvez vous m'aider svp ?

Un problème avec ce genre d'exercice est de comprendre l'exercice. Une
réponse possible:
while 1 :
for zob in ["""
*
####*####
########*########
####*####
*
"""]:
print (zob)
break
Je devrais écrire: "Bien sÍ»r c'est débile". Sauf que si j'avais Í 
écrire réellement ce truc-lÍ  (un logo, une marque de fin, etc.) c'est
le codage en dur que j'utiliserai.
Un machin plus pythonien:
centre = 24
tas = 4
def doline(i): return ((centre - 1) - (tas * i)) * ' ' + (tas * i) *
'#' + '*' + (tas * i) * '#'
zob = 'n'.join([doline(i) for i in (0, 1, 2, 1, 0)])
print(zob)
Pour utiliser une boucle 'for' classique:
def doline(i): return ((centre - 1) - (tas * i)) * ' ' + (tas * i) *
'#' + '*' + (tas * i) * '#'
zob = doline(0)
for i in (1, 2, 1, 0):
zob += 'n' + doline(i)
print(zob)
(pour la boucle 'while' je ne vois pas trop, Í  moins de feindre ignorer
que '####' se code 4 * '#'...
--
Pierre Maurette