我有一个简单的python代码来创建随机数,如下所示
import random
for x in range(100):
print (random.randint(1,100))
尽管这段代码创建了随机数,但它仍然可以创建副本,有谁能帮我解决这个问题,让它不能打印副本?
发布于 2018-08-05 04:03:31
首先生成数字,然后对它们进行混洗,然后从该列表中进行选择。
import random
numbers = list(range(100)) # `numbers` is now a list [0, 1, ..., 99]
random.shuffle(numbers) # the list is now in random order
while numbers: # While there are numbers left,
a = numbers.pop() # take one from the list,
print(a) # and print it.
发布于 2018-08-05 04:02:24
您可以将它刚刚生成的随机数存储到一个列表中,然后在每次生成另一个数时遍历该列表。如果列表中存在新生成的编号,则将其丢弃并转到下一代。
这是我最好的猜测,但我不会给你写任何代码,你最好找出答案并学习。如果你确实需要一个代码示例,请让我知道,我可以为你做一个。
发布于 2018-08-05 04:18:56
import random
mySet = set()
totalTries = 20
for i in range(totalTries):
mySet.add(random.randint(0, 20))
###................................
_ = [print(str(x) + ", ", end="") for x in mySet]
print("\n")
print(str(totalTries - len(mySet)) + " duplicates were dropped!")
https://stackoverflow.com/questions/51689157
复制相似问题