问题描述
# Lottery Generator
def lotto():
import random
integer = []
for number in range(0,5):
integer.append(random.randint(1,101))
return integer
print (lotto())
到目前为止,这就是我所拥有的。 不,我尝试输入数字。 我可以输入一个数字,并在方法中将其乘以
numInput = int(input("How many number sets do you need? "))
并将其添加到最后
print(lotto() * numInput)
但这只是给我一个数字。 我想要得到的是这样的
[5, 54, 84, 100, 72]
[16, 31, 95, 47, 10]
...等等。
我想将lotto
的输出打印numInput
次。
1楼
您需要遍历为numInput输入的时间
def lotto():
import random
integer = []
for number in range(0,5):
integer.append(random.randint(1,101))
return integer
numInput = int(input("How many number sets do you need? "))
for i in range(0, numInput):
print (lotto())
如果要更改每组返回的结果数。 然后,您的函数可以接受参数。 例如,如果您希望每组10个结果。
def lotto(numbers):
import random
integer = []
for number in range(0,numbers):
integer.append(random.randint(1,101))
return integer
numInput = int(input("How many number sets do you need? "))
for i in range(0, numInput):
print (lotto(10))
2楼
让您的函数接受一个变量,然后在函数内部运行一个循环,该循环将您的许多彩票集附加到列表中,然后返回该列表!
import random
def lotto(repetitions):
lista = []
for i in range(repetitions):
integer = []
for number in range(0,5):
integer.append(random.randint(1,101))
lista.append(integer)
return lista
number = int(input("How many sets: "))
print(lotto(number))
(xenial)vash@localhost:~/python/stack_overflow$ python3.7 lotto.py How many sets: 3 [[45, 99, 74, 64, 60], [65, 86, 51, 35, 93], [60, 4, 69, 14, 60]]