2017-03-06 7 views
1

私がしなければならないのは、次のようにプリントアウトすることです。5 4 3 2 1 次に4 3 2 1を3 2 1などして、今のところ私が持っているのはすべて最初の行です私は5 4 3 2 1または6 5 4 3 2 1を取得しますが、私はそれはあなたが二つのループを必要とする1Python Looping乱数

from random import choice 
    i=choice([5,6,7,8,9,10]) 
    while i: 
     print(i, end=" ") 
     i -= 1 
     if(i <1): 
      break 
+0

2つのループが必要ですが、1つではありません。 – khelwood

答えて

1

コンパクトアプローチ:

import random as rnd 

length = rnd.choice([5, 6, 7, 8, 9, 10]) 
lst = [str(x) for x in range(length, 0, -1)] 
while lst: 
    print(" ".join(lst)) 
    lst.pop(0) 

あなたは、Python 2.7を使用している場合xrangerangeを交換してください。

0

に達するまでそれが継続して取得しようとしたときに右のそれを得るように見えることはできません、 1つは最初のカウントダウン(5,4,3,2,1)を行い、もう1つは生成する必要がある各リストをループします。例:

from random import choice 
i=choice([5,6,7,8,9,10]) 
for j in [*range(i,0,-1)]: 
    for k in [*range(j,0,-1)]: 
     print(k, end=" ") 
    print('') 
0

これを試すことができます。

from random import choice 
x = choice([5,6,7,8,9,10]) 
while x > 0: 
    y = x 
    while y > 0: 
     print y, 
     y = y-1 
    print "\n" 
    x = x-1 
+0

こんにちは、これは私が探しているコードの種類ですが、実行しようとするとエラーがあり、yと "\ n"によって、実行するように編集しようとしていますが、できませんそれを100% –