首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在for循环中打印不同的随机数?

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

Stack Overflow用户
提问于 2022-05-15 13:49:54
回答 2查看 413关注 0票数 -5

我正在尝试产生随机的“信用卡”形式。但当我做循环,然后它打印相同的随机生成的“信用卡号码”每次。示例:

输出如下:

代码语言:javascript
复制
2072 3600 8744 7144
2072 3600 8744 7144
2072 3600 8744 7144
2072 3600 8744 7144
2072 3600 8744 7144

我要每个“信用卡号码”都有不同的号码。

代码:

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-15 13:53:46

生成CC编号一次,并多次显示它。相反,将CC生成器放在循环中。

代码语言:javascript
复制
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)
票数 1
EN

Stack Overflow用户

发布于 2022-05-15 14:06:41

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

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72248862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档