我有一个简单的python代码来创建随机数,就在这里
import random
for x in range(100):
print (random.randint(1,100))
即使此代码创建了随机数,它仍然可以创建重复项,有人可以帮我解决一个使其无法打印重复项的想法吗?
答案 0 :(得分:3)
首先生成数字,然后将其洗牌,然后从该列表中选择。
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.
答案 1 :(得分:0)
您可以将它刚生成的随机数存储到列表中,然后在每次生成另一个数字时遍历列表。如果列表中存在新生成的号码,则将其废弃,然后再进行更新。
这是我的最佳猜测,但我不会为您编写任何代码,最好让您弄清楚并学习。如果您确实需要一个代码示例,请告诉我,我可以为您制作一个。
答案 2 :(得分:0)
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!")