2017-10-14 11 views
0

Pythonでwhileループを使用して次のパターンを印刷するにはどうすればよいですか?Pythonでwhileループを使って次のパターンを印刷するには?

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

すべてのヘルプは本当にいただければ幸いです。ありがとうございました。

答えて

0

はこれを試してみてください:

ExcCount = 22 
SlashCount = 2 

i = 1 
while i <= 6: 

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

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

を行うには2つの簡単な方法があるあなたのコードは何も表示しているようだし、無限ループに入りません。 – ritiek

+0

@Ritiek Soz、 'i'をインクリメントするのを忘れました – Adi219

0

これもforループを使用して解決することが、疑問ので、明示的にwhileループ述べたことがあります。

total = 22 
n = 0 

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

は何も説明が必要なら、私に教えてくださいを。

0

この

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 

または多分

x=0 
while x<6: 
    print '\ '*(2*x)+'! '*(22-(4*x))+'/ '*(2*x) 
    x+=1 
関連する問題