Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 随机数练习_Python_Python 3.x_Python 3.7 - Fatal编程技术网

Python 随机数练习

Python 随机数练习,python,python-3.x,python-3.7,Python,Python 3.x,Python 3.7,我是Python的初学者。你能帮我解决这个练习吗 定义一个rolldies(n)函数,该函数模拟n个骰子的掷骰,并返回掷骰的有序列表。(例如,rolldies(3)生成三个介于1和6之间的随机数,例如2、5、1,并返回列表[1、2、5]。) 我做了这个,但这不是练习想要的: import random def rolldies(): die1 = random.randrange(1, 6) die2 = random.randrange(1, 6) die3 = ra

我是Python的初学者。你能帮我解决这个练习吗

定义一个rolldies(n)函数,该函数模拟n个骰子的掷骰,并返回掷骰的有序列表。(例如,rolldies(3)生成三个介于1和6之间的随机数,例如2、5、1,并返回列表[1、2、5]。)

我做了这个,但这不是练习想要的:

import random

def rolldies():
    die1 = random.randrange(1, 6)
    die2 = random.randrange(1, 6)
    die3 = random.randrange(1, 6)
    list=[]
    list.extend((die1, die2, die3))
    list.sort(reverse = False ) 
    return list

print(rolldies())

您应该将列表的长度传递给函数名rolldies()。试试下面的代码

import random

def rolldies(n):
    list=[]
    for i in range(n):
        list.append(random.randrange(1, 6))
    list.sort(reverse = False ) 
    return list

print(rolldies(4))

您应该将列表的长度传递给函数名rolldies()。试试下面的代码

import random

def rolldies(n):
    list=[]
    for i in range(n):
        list.append(random.randrange(1, 6))
    list.sort(reverse = False ) 
    return list

print(rolldies(4))

您可以使用
for
循环
n次
并生成一个随机数。在每一步中,您都会将随机数放入列表中

import random

def rolldies(n):
    roll_list = []  # This is the list where you store the rolls.
    for i in range(n):
        rand = random.randrange(1, 6)  # Generate a random number in each loop.
        print(rand)
        roll_list.append(rand)  # Add the random number to the list.
    roll_list.sort()  # Sort the list.
    return roll_list


# Here you call the function with a value for n
n = 3
print(rolldies(n))

您可以使用
for
循环
n次
并生成一个随机数。在每一步中,您都会将随机数放入列表中

import random

def rolldies(n):
    roll_list = []  # This is the list where you store the rolls.
    for i in range(n):
        rand = random.randrange(1, 6)  # Generate a random number in each loop.
        print(rand)
        roll_list.append(rand)  # Add the random number to the list.
    roll_list.sort()  # Sort the list.
    return roll_list


# Here you call the function with a value for n
n = 3
print(rolldies(n))

您需要一个for循环以使其成为可变次数,并需要一个空列表来存储每一卷骰子

import random

def rolldies(n):
    dice = [] #Empty list to store the rolls
    #For loop that runs n times
    for i in range(n):
        roll = random.randrange(1, 6)  #Roll the dice
        dice.append(roll)  #Store the roll in the list
    dice.sort(reverse = False)
    return dice

print(rolldies(5))

您需要一个for循环以使其成为可变次数,并需要一个空列表来存储每一卷骰子

import random

def rolldies(n):
    dice = [] #Empty list to store the rolls
    #For loop that runs n times
    for i in range(n):
        roll = random.randrange(1, 6)  #Roll the dice
        dice.append(roll)  #Store the roll in the list
    dice.sort(reverse = False)
    return dice

print(rolldies(5))

在您的帖子中,您说函数类似于
rolldies(n)
,因此您需要在函数中定义一个参数。有很多方法可以达到预期的效果

方法1:使用for循环的解决方案

方法2:使用列表理解的解决方案


在您的帖子中,您说函数类似于
rolldies(n)
,因此您需要在函数中定义一个参数。有很多方法可以达到预期的效果

方法1:使用for循环的解决方案

方法2:使用列表理解的解决方案

试试这个:)

试试这个:)


python方法是使用已经提供的函数:
random.choices
从总体返回n个数字:

import random

def rolldies(n):
    return sorted(random.choices(list(range(1,7)), k=n), reverse=False)

print(rolldies(10))
# [1, 1, 2, 2, 3, 3, 4, 4, 5, 6]
如果必须使用
randrange
,则可以在单个列表中执行此操作,以创建一个包含
n
个数字的列表,如下所示:

import random

def rolldies(n):
    return sorted([random.randrange(1, 7) for _ in range(n)], reverse = False)

print(rolldies(10))
# [2, 2, 2, 3, 4, 4, 5, 5, 5, 6]

注意:如果要包含
6
的话,范围应该是
(1,7)
,python方法是使用已经提供的函数:
random。选择
从总体返回n个数字:

import random

def rolldies(n):
    return sorted(random.choices(list(range(1,7)), k=n), reverse=False)

print(rolldies(10))
# [1, 1, 2, 2, 3, 3, 4, 4, 5, 6]
如果必须使用
randrange
,则可以在单个列表中执行此操作,以创建一个包含
n
个数字的列表,如下所示:

import random

def rolldies(n):
    return sorted([random.randrange(1, 7) for _ in range(n)], reverse = False)

print(rolldies(10))
# [2, 2, 2, 3, 4, 4, 5, 5, 5, 6]

注意:如果要包括
6

,则范围应为
(1,7)
,诀窍是要意识到3只是
n
可以接受的可能值数之一。您的函数现在甚至不接受
n
参数!提示:让我换一种方式说,如果我要求您在n=1000时编写它,您是否要将
random.randrange
1000次?提示:它应该开始
def roll\u dice(n):
因为
n
是一个参数。(我不能强迫自己去打那些糟糕的
rolldies
,希望你的教授不会坚持拼写错误)。使用
for
循环或适当的理解来填充所需的列表。您可能想检查循环和函数。诀窍是要意识到3只是
n
可以接受的可能数量的值之一。您的函数现在甚至不接受
n
参数!提示:让我换一种方式说,如果我要求您在n=1000时编写它,您是否要将
random.randrange
1000次?提示:它应该开始
def roll\u dice(n):
因为
n
是一个参数。(我不能强迫自己去打那些糟糕的
rolldies
,希望你的教授不会坚持拼写错误)。使用
for
循环或适当的理解来填充所需列表。您可能希望签出循环和函数