从整数范围中获取随机整数
get random integers from range of integers
我需要从具有特定数量整数 (number_of_ints) 的范围(开始、停止)中列出唯一的随机整数。
所以基本上一个函数 get_unique_random_integers(1, 100, 10)
应该 return 一个包含 10 个整数的列表,例如[93、23、6、26、90、29、59、12、15、86]。还需要使用while循环和randint函数。
到目前为止我写了这个但是功能是 returning None.
import random
def get_unique_random_integers(start, stop, number_of_ints):
random_list = []
while int(start) < int(stop):
res = random.randint(start, stop)
if res not in random_list:
start += 1
return random_list.append(res*number_of_ints)
print(get_unique_random_integers(1, 100, 10))
return random_list.append(res*number_of_ints)
.
.append()
是一个就地函数,它 return 是 None
即 return 什么都没有。于是就变成了return None
.
您应该先将元素添加到列表中,然后 return 它:
random_list.append(res*number_of_ints)
return random_list
此外,return
标记函数的结束。因此,只有一个元素会被 returned。您应该将 return return random_list
移到循环之外。
import random
def get_unique_random_integers(start, stop, number_of_ints):
random_list = []
start1=0
while start1 < int(number_of_ints):
res = random.randint(start, stop)
if res not in random_list:
start1 += 1
random_list.append(res*number_of_ints)
return random_list
print(get_unique_random_integers(1, 100, 10))
这里 while
是检查 number_of_ints
并将其减 1。
只需将结果附加到列表 random_list.append(res)
.
import random
def get_unique_random_integers(start, stop, number_of_ints):
random_list = []
while number_of_ints:
res = random.randint(start, stop)
if res not in random_list:
random_list.append(res)
number_of_ints -= 1
return random_list
print(get_unique_random_integers(1, 9, 5))
您可以在此处使用 random.sample
,因为 random.sample
从给定的样本中选择给定数量的选择而不进行替换。
示例:-
import random
start = 5
end = 10
number_of_ints = 3
print(random.sample(range(start, end + 1), number_of_ints))
# prints [5, 9, 7]
我需要从具有特定数量整数 (number_of_ints) 的范围(开始、停止)中列出唯一的随机整数。
所以基本上一个函数 get_unique_random_integers(1, 100, 10)
应该 return 一个包含 10 个整数的列表,例如[93、23、6、26、90、29、59、12、15、86]。还需要使用while循环和randint函数。
到目前为止我写了这个但是功能是 returning None.
import random
def get_unique_random_integers(start, stop, number_of_ints):
random_list = []
while int(start) < int(stop):
res = random.randint(start, stop)
if res not in random_list:
start += 1
return random_list.append(res*number_of_ints)
print(get_unique_random_integers(1, 100, 10))
return random_list.append(res*number_of_ints)
.
.append()
是一个就地函数,它 return 是 None
即 return 什么都没有。于是就变成了return None
.
您应该先将元素添加到列表中,然后 return 它:
random_list.append(res*number_of_ints)
return random_list
此外,return
标记函数的结束。因此,只有一个元素会被 returned。您应该将 return return random_list
移到循环之外。
import random
def get_unique_random_integers(start, stop, number_of_ints):
random_list = []
start1=0
while start1 < int(number_of_ints):
res = random.randint(start, stop)
if res not in random_list:
start1 += 1
random_list.append(res*number_of_ints)
return random_list
print(get_unique_random_integers(1, 100, 10))
这里 while
是检查 number_of_ints
并将其减 1。
只需将结果附加到列表 random_list.append(res)
.
import random
def get_unique_random_integers(start, stop, number_of_ints):
random_list = []
while number_of_ints:
res = random.randint(start, stop)
if res not in random_list:
random_list.append(res)
number_of_ints -= 1
return random_list
print(get_unique_random_integers(1, 9, 5))
您可以在此处使用 random.sample
,因为 random.sample
从给定的样本中选择给定数量的选择而不进行替换。
示例:-
import random
start = 5
end = 10
number_of_ints = 3
print(random.sample(range(start, end + 1), number_of_ints))
# prints [5, 9, 7]