构建随机乘法示例列表
Building a list of random multiplication examples
我有两个 100 个元素的列表,其中填充了 1 到 10 之间的随机数。
我想制作一个随机选择的数字的乘法列表,直到生成大于 50 的乘积。
如何获得这样一个列表,其中每个元素都是一个产品及其两个因素?
这是我试过的代码。我认为它有很多问题。
import random
list1 = []
for i in range(0,1000):
x = random.randint(1,10)
list1.append(x)
list2 = []
for i in range(0,1000):
y = random.randint(1,10)
list2.append(y)
m=random.sample(list1,1)
n=random.sample(list2,1)
list3=[]
while list3[-1][-1]<50:
c=[m*n]
list3.append(m)
list3.append(n)
list3.append(c)
print(list3)
我想要的输出
[[5.12154, 4.94359, 25.3188], [1.96322, 3.46708, 6.80663], [9.40574,
2.28941, 21.5336], [4.61705, 9.40964, 43.4448], [9.84915, 3.0071, 29.6174], [8.44413, 9.50134, 80.2305]]
为了更具描述性:
[[randomfactor, randomfactor, product],......,[[randomfactor,
randomfactor, greater than 50]]
准备两个包含 1000 个数字的列表,每个列表中包含 1 到 10 的数字是浪费内存。如果这只是一种简化,并且您想从其他列表中提取,只需替换
a,b = random.choices(range(1,11),k=2)
来自
a,b = random.choice(list1), random.choice(list2)
import random
result = []
while True:
a,b = random.choices(range(1,11),k=2) # replace this one as described above
c = a*b
result.append( [a,b,c] )
if c > 50:
break
print(result)
输出:
[[9, 3, 27], [3, 5, 15], [8, 5, 40], [5, 9, 45], [9, 3, 27], [8, 5, 40], [8, 8, 64]]
如果您需要 1 到 10 之间的 1000 个随机整数,请执行:
random_nums = random.choices(range(1,11),k=1000)
如果循环和附加单个整数 1000 次要快得多。
独库:
我有两个 100 个元素的列表,其中填充了 1 到 10 之间的随机数。
我想制作一个随机选择的数字的乘法列表,直到生成大于 50 的乘积。
如何获得这样一个列表,其中每个元素都是一个产品及其两个因素?
这是我试过的代码。我认为它有很多问题。
import random
list1 = []
for i in range(0,1000):
x = random.randint(1,10)
list1.append(x)
list2 = []
for i in range(0,1000):
y = random.randint(1,10)
list2.append(y)
m=random.sample(list1,1)
n=random.sample(list2,1)
list3=[]
while list3[-1][-1]<50:
c=[m*n]
list3.append(m)
list3.append(n)
list3.append(c)
print(list3)
我想要的输出
[[5.12154, 4.94359, 25.3188], [1.96322, 3.46708, 6.80663], [9.40574, 2.28941, 21.5336], [4.61705, 9.40964, 43.4448], [9.84915, 3.0071, 29.6174], [8.44413, 9.50134, 80.2305]]
为了更具描述性:
[[randomfactor, randomfactor, product],......,[[randomfactor, randomfactor, greater than 50]]
准备两个包含 1000 个数字的列表,每个列表中包含 1 到 10 的数字是浪费内存。如果这只是一种简化,并且您想从其他列表中提取,只需替换
a,b = random.choices(range(1,11),k=2)
来自
a,b = random.choice(list1), random.choice(list2)
import random
result = []
while True:
a,b = random.choices(range(1,11),k=2) # replace this one as described above
c = a*b
result.append( [a,b,c] )
if c > 50:
break
print(result)
输出:
[[9, 3, 27], [3, 5, 15], [8, 5, 40], [5, 9, 45], [9, 3, 27], [8, 5, 40], [8, 8, 64]]
如果您需要 1 到 10 之间的 1000 个随机整数,请执行:
random_nums = random.choices(range(1,11),k=1000)
如果循环和附加单个整数 1000 次要快得多。
独库: