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

2024-09-20 22:59:42 发布

您现在位置: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
         x.append(s)
     print(x)
     q+=1
     a+=1

我正试图通过制作小脚本来学习python,但这让我陷入了困境。 请帮忙


Tags: importrandomprintrandint名单appendwhile困境
2条回答

试试这个。我重新安排了一些事情,比如将列表创建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

输出:

[18]
[15, 17]
[13, 13, 15]
[10, 12, 10, 11]
[20, 12, 20, 11, 11]

在程序开始时声明x,但听起来好像每次打印后都要重置它;将x = []行移到while循环中,这样每次输入时,x都会以空开始。你知道吗

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

相关问题 更多 >

    热门问题