如何在 for 循环中打印不同的随机数?

How do I print different random numbers in for loop?

我正在尝试生成随机的“信用卡”表格。但是当我做循环时,它每次都会打印相同的随机生成的“信用卡号”。 示例:

输出如下所示:

2072 3600 8744 7144
2072 3600 8744 7144
2072 3600 8744 7144
2072 3600 8744 7144
2072 3600 8744 7144

而且我想要每个“信用卡号”中都有不同的数字。

代码:

from random import choices
from string import digits


cc_digits = choices(digits, k=16)
cc_number = "".join(cc_digits)
space = " ".join(cc_number[i:i+4] for i in range(0, len(cc_number), 4))

for x in range(5):
    print(space)

您生成抄送号码一次并显示多次。相反,将 CC 生成器 放入 循环中。

from random import choices
from string import digits

for _ in range(5):
    cc_digits = choices(digits, k=16)
    cc_number = "".join(cc_digits)
    space = " ".join(cc_number[i:i+4] for i in range(0, len(cc_number), 4))
    print(space)

你已经在循环之前定义了你想要打印的内容,这意味着它在循环时是静态的运行,所以你需要做的就是像这样把它们放在循环中。

from random import choices
from string import digits



for x in range(5):
    cc_digits = choices(digits, k=16)
    cc_number = "".join(cc_digits)
    space = " ".join(cc_number[i:i+4] for i in range(0, len(cc_number), 4))
    print(space)