Python 随机数练习
我是Python的初学者。你能帮我解决这个练习吗 定义一个rolldies(n)函数,该函数模拟n个骰子的掷骰,并返回掷骰的有序列表。(例如,rolldies(3)生成三个介于1和6之间的随机数,例如2、5、1,并返回列表[1、2、5]。) 我做了这个,但这不是练习想要的: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
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
循环或适当的理解来填充所需列表。您可能希望签出循环和函数