Python 打印一个randint并将其附加到列表中,然后循环并打印一个完全不同的列表

Python 打印一个randint并将其附加到列表中,然后循环并打印一个完全不同的列表,python,Python,有人能给我解释一下为什么我总是得到同样的名单,但更长,而不是一个新的 [20],[20,14],[20,14,16],[20,14,16,18] 但我想得到: [20],[15,18],[13,19,20],[17,14,17,20] import random x=[] a=0 while a < 5: i=0 q = 1 while i < q: s=random.randint(10, 20) i+=1

有人能给我解释一下为什么我总是得到同样的名单,但更长,而不是一个新的

[20]
[20,14]
[20,14,16]
,[
20,14,16,18]

但我想得到:

[20]
[15,18]
[13,19,20]
[17,14,17,20]

 import random
 x=[]
 a=0
 while a < 5:
     i=0
     q = 1
     while i < q:
         s=random.randint(10, 20)
         i+=1
         x.append(s)
     print(x)
     q+=1
     a+=1
随机导入
x=[]
a=0
而a<5:
i=0
q=1
而i
我试图通过编写小脚本来学习python,但这让我陷入了困境。
请帮助

您在程序开始时声明了
x
,但听起来好像每次打印后都要重置它;将
x=[]
行移动到
while
循环中,以便每次输入时,
x
开始时为空


此外,正如@IlmariKaronen所说,您的代码示例无法运行,因为它没有缩进。大概它在你的端部起作用,所以它没有正确粘贴。发布问题时,一定要确保代码示例可以运行。

试试看。我重新安排了一些事情,比如将列表创建
x=[]
移动到外部while循环中,以及将
q=1
移动到外部while循环之外

import random
a=0
q = 1
while a < 5:
    i=0
    x=[]
    while i < q:
        s=random.randint(10, 20)
        i+=1
        x.append(s)
    print(x)
    q+=1
    a+=1

你的缩进都搞糟了,这对Python来说有点不好。这永远不会运行。请把它修好。
[18]
[15, 17]
[13, 13, 15]
[10, 12, 10, 11]
[20, 12, 20, 11, 11]