如何多次运行函数并返回不同的结果

2024-04-26 11:44:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个问题,我不知道这是否可行,但我想做的是调用函数多次。我的想法是为票生成一个序列号,我有一个函数生成一个长度为16的数字:

import random
import string

def random_number_generator(size=16, numbers=string.digits):
    return ''.join(random.choice(numbers) for _ in range(size))

现在,如果我像这样运行这个函数print(random_number_generator() * 4),它将返回如下结果:

1234567890987654
1234567890987654
1234567890987654
1234567890987654

如何使它返回不同的数字而不是相同的数字?你知道吗


Tags: 函数importnumbersizestringreturndef数字
3条回答

在print()中使用*4的方法只是让它将函数的相同结果打印4次。您可以使用python中的一些简单内容作为循环来运行x次:

for k in range(4):
   print(random_number_generator())

由于数字范围太大,因此重复结果的可能性较小,但由于您可以使用此选项检查重复结果:

output = []
expected_results = []
for k in range(4):
   output.append(random_number_generator())

for i in output:
  if i not in expected_results:
    expected_results.append(i)

print(expected_results)
for i in range(4):
    print(random_number_generator())

您只需遍历函数并将生成的数字附加到空列表中。你知道吗

number_of_tickets = 10
ticket_serial_numbers = []
for i in range(number_of_tickets):
    serial_number = random_number_generator()
    ticket_serial_numbers.append(serial_number)

相关问题 更多 >