我要做的就是以5 4 3 2 1打印出来 然后4 3 2 1然后3 2 1等等,现在我所有的都是第一行所以我得到5 4 3 2 1或6 5 4 3 2 1但我不能似乎在试图让它继续直到达到1
时才正确from random import choice
i=choice([5,6,7,8,9,10])
while i:
print(i, end=" ")
i -= 1
if(i <1):
break
答案 0 :(得分: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,请将range
替换为xrange
。
答案 1 :(得分:0)
您需要两个循环,一个用于执行初始倒计时(5,4,3,2,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('')
答案 2 :(得分: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