生成 "n" non-repeatable 非负随机整数并在列表中生成 returns 的函数
Function that generates "n" non-repeatable nonnegative random integers and returns them in a list
这显然与标题中所说的相去甚远。
我不知道如何继续生成随机整数,直到用户输入的长度与循环中附加的新列表相匹配。到目前为止,这就是我所拥有的,这是垃圾,我得到的只是一个空列表。我不知道我是否接近它应该如何。
提前谢谢你
注意:我知道这很容易用 random.sample(range(100), k=n).
import random
n = int(input('You: '))
def random_list():
list = []
while list:
a = random.randint(1, 100)
if a not in list:
list = list.append(a)
if len(n) == len(list):
break
return list
print(random_list())
保持结构:
import random
n = int(input('You: '))
def random_list(n):
my_list = []
possible_numbers = list(range(1, 100))
for _ in range(n):
number_to_add = random.choice(possible_numbers)
my_list.append(number_to_add)
possible_numbers.remove(number_to_add)
return my_list
print(random_list(n))
编辑:我看到你提到了以下方法,我还是保留了它。
不同的是,您可以使用 random.sample(seq, n)
从可迭代对象 seq
中选取维度 n
的样本。即:
import random
n = int(input('You: '))
possible_numbers = range(1, 100)
print(random.sample(possible_numbers, n))
这显然与标题中所说的相去甚远。
我不知道如何继续生成随机整数,直到用户输入的长度与循环中附加的新列表相匹配。到目前为止,这就是我所拥有的,这是垃圾,我得到的只是一个空列表。我不知道我是否接近它应该如何。
提前谢谢你
注意:我知道这很容易用 random.sample(range(100), k=n).
import random
n = int(input('You: '))
def random_list():
list = []
while list:
a = random.randint(1, 100)
if a not in list:
list = list.append(a)
if len(n) == len(list):
break
return list
print(random_list())
保持结构:
import random
n = int(input('You: '))
def random_list(n):
my_list = []
possible_numbers = list(range(1, 100))
for _ in range(n):
number_to_add = random.choice(possible_numbers)
my_list.append(number_to_add)
possible_numbers.remove(number_to_add)
return my_list
print(random_list(n))
编辑:我看到你提到了以下方法,我还是保留了它。
不同的是,您可以使用 random.sample(seq, n)
从可迭代对象 seq
中选取维度 n
的样本。即:
import random
n = int(input('You: '))
possible_numbers = range(1, 100)
print(random.sample(possible_numbers, n))