在python中生成一个包含6个介于1和6之间的随机数的列表

2024-06-02 04:38:08 发布

您现在位置:Python中文网/ 问答频道 /正文

所以这是我一个班的练习题。我想生成一个1到6之间的6个随机数的列表。例如,startTheGame()应该返回[1,4,2,5,4,6]

我想我已经接近得到它,但我只是不知道如何编码,以便所有6个数字都附加到列表,然后返回。如有任何帮助,我们将不胜感激。

import random
def startTheGame():
    counter = 0
    myList = []
    while (counter) < 6:
        randomNumber = random.randint(1,6)

    myList.append(randomNumber)

    counter = counter + 1

    if (counter)>=6:
        pass
    else:

        return myList

Tags: import编码列表ifdefcounter数字random
1条回答
网友
1楼 · 发布于 2024-06-02 04:38:08

使用list comprehension

import random

def startTheGame():

    mylist=[random.randint(1, 6) for _ in range(6)]
    return mylist

列表理解是Python提供的最强大的工具之一。他们被认为是非常Python,他们使代码非常有表现力。

请考虑以下代码:

counter = 0
myList = []
while (counter) < 6:
    randomNumber = random.randint(1, 6)

myList.append(randomNumber)

counter = counter + 1

if (counter)>=6:
    pass
else:
    return

我们将在几个步骤中重构此代码,以更好地说明列表理解的作用。我们要重构的第一件事是while循环,它带有初始化和中止条件。使用for in表达式可以更简洁地实现这一点:

myList = []
for counter in range(6):
    randomNumber = random.randint(1, 6)
myList.append(randomNumber)

现在,让这段代码进入列表理解的步骤是:在mylist中移动for循环。这就消除了附加步骤和赋值:

[random.randint(1, 6) for _ in range(6)]

_和其他变量一样是一个变量名,但是在python中,我们习惯于使用不使用的变量。把它当作一个临时变量。

相关问题 更多 >