2017-10-14 6 views
0

Comment puis-je imprimer le motif suivant en utilisant des boucles while en python?Comment imprimer le modèle suivant en utilisant while-loops en python?

! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! \ \ ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !// \ \ \ \ ! ! ! ! ! ! ! ! ! ! ! ! ! !//// \ \ \ \ \ \ ! ! ! ! ! ! ! ! ! !////// \ \ \ \ \ \ \ \ ! ! ! ! ! !//////// \ \ \ \ \ \ \ \ \ \ ! !//////////

Toute aide serait vraiment apprécié. Je vous remercie.

Répondre

0

Essayez ceci:

ExcCount = 22 
SlashCount = 2 

i = 1 
while i <= 6: 

    String = (SlashCount * "\ ") + (ExcCount * "! ") + (SlashCount * "/ ") 
    print(String) 

    ExcCount -= 4 
    SlashCount -= 2 
    i += 1 
+0

Votre code ne semble pas imprimer quoi que ce soit et va dans une boucle infinie. – ritiek

+0

@Ritiek Soz, j'ai oublié d'incrémenter 'i' – Adi219

0

Cela peut également être résolu en utilisant la boucle for mais étant donné que la question mentionnée explicitement boucle while:

total = 22 
n = 0 

while n < 6: 
    side = n*2 
    middle = total - side*2 
    line = '\\'*side + '!'*middle + '/'*side 
    print(line) 
    n += 1 

Laissez-moi savoir si quelque chose a besoin d'explication.

0

il y a deux façons simples de le faire

while True: 
    print '! '*22 
    print '\ '*2+'! '*18+'/ '*2 
    print '\ '*4+'! '*14+'/ '*4 
    print '\ '*6+'! '*10+'/ '*6 
    print '\ '*8+'! '*6+'/ '*8 
    print '\ '*10+'! '*2+'/ '*10 
    break 

ou peut-être

x=0 
while x<6: 
    print '\ '*(2*x)+'! '*(22-(4*x))+'/ '*(2*x) 
    x+=1