【发布时间】:2016-11-13 10:06:52
【问题描述】:
我需要有一个列表,其中一个列表随机生成 1 到 8 之间的值,另一个列表也随机生成 1 到 8 之间的值。我设法在下面的代码中做到了这一点:
from random import *
listA = []
listB = []
inp = int(input('Number of values generated'))
for x in range(0,inp):
num = randint(0,8)
listA.append(num)
if num == 0:
numB = randint(1,8)
else:
numB = randint(0,8)
listB.append(numB)
print(listA)
print(listB)
第一个列表中的值不能为 0,第二个列表中的值也不能为零。我的代码中已经有了这个。然而,这是我遇到的问题。
[4, 5, 2, 5, 1]
[1, 2, 3, 2, 4]
在 listA 中,5 产生了两次,第二个列表中它下面的 2 也产生了两次。当他们创建这样的一对时,我想不出一个解决方案来从我的列表中删除这些。
【问题讨论】:
-
如果你只使用8个,你为什么要问用户有多少个数字?
-
它的值在0到8之间,但是每个列表都需要添加一定数量的数字
-
你可以改变你的算法:创建一个包含数字 1..8 的元组现在,让 N 是用户输入的项目数 (0
标签: python list random python-3.3