需要创建一个程序,生成一个介于5-10之间(包括5-10)的随机数,然后形成以下模式。你知道吗
"The random number generated is" 9
9 8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
7 6 5 4 3 2 1
6 5 4 3 2 1
5 4 3 2 1
4 3 2 1
3 2 1
2 1
1
以下是我使用的代码:
from random import choice
m=choice(range(5,11))
n=m-1
o=n-1
p=o-1
q=p-1
r=q-1
s=r-1
t=s-1
u=t-1
v=u-1
print("The random number generated is",m)
while m>0:
print(m,n,o,p,q,r,s,t,u,v)
m=m-1
n=n-1
o=o-1
p=p-1
q=q-1
r=r-1
s=s-1
t=t-1
u=u-1
v=v-1
不过,我在跑步时会发现:
The random number generated is 8
8 7 6 5 4 3 2 1 0 -1
7 6 5 4 3 2 1 0 -1 -2
6 5 4 3 2 1 0 -1 -2 -3
5 4 3 2 1 0 -1 -2 -3 -4
4 3 2 1 0 -1 -2 -3 -4 -5
3 2 1 0 -1 -2 -3 -4 -5 -6
2 1 0 -1 -2 -3 -4 -5 -6 -7
1 0 -1 -2 -3 -4 -5 -6 -7 -8
我如何摆脱0和负片?还是一套更好的代码?你知道吗
谢谢
问题是while循环只会在m为零时停止,但会继续打印相同数量的数字。最好使用while和for循环。 例如:
每当你发现自己在编一个变量列表,比如
m, n, o, p, ...
,你很有可能应该用list
来代替。range
函数可以生成可用于生成列表的assending或desending整数。在那之后,它只是一个打印和从列表中删除值的问题。你知道吗使用几个循环而不是设置所有这些变量要容易得多请看下面的一个选项:
输出:
相关问题 更多 >
编程相关推荐