为什么这个随机生成器有时返回3位而不是4位?

BirbCS
if choice == '1':
    print('Your card has been created')
card = create_card()
print(f'Your card number:\n{card}')
pin = int(''.join(f'{random.randint(0, 9)}' for _ in range(4)))
print(f'Your card PIN:\n{pin}\n')
cards.append([card, pin])

请有人能解释一下为什么上面的代码有时会生成3位数字而不是4位数字吗?例如:这里

山姆·摩根

按照您的逻辑,可以生成以开头的字符串0如果您将前导0数字字符串传递给int(),则该前导0将被忽略:

print(int("0999"))

输出量

999

要解决此问题,您可以更改范围起始值。

pin = int(''.join(f'{random.randint(1, 9)}' for _ in range(4)))

编辑:要向自己证明这一点,请打印生成的字符串和int()函数的结果,如下所示。

for i in range(100):
    st = ''.join(f'{random.randint(0, 9)}' for _ in range(4))
    print(st, int(st))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

64位随机生成器的种子

来自分类Dev

64位随机生成器的种子

来自分类Dev

为什么这个随机字符串生成器的性能如此差?

来自分类Dev

为什么这个随机生成器总是输出相同的数字

来自分类Dev

Javascript-如何从长度有时不是固定的随机字符串中获取3位数字?

来自分类Dev

为什么 next() 有时会在生成器上隐式调用?

来自分类Dev

C语言的3位数字生成器

来自分类Dev

为什么此生成器返回一个函数而不是一个值

来自分类Dev

为什么RStudio在View期间调用随机生成器?

来自分类Dev

为什么从伪随机数生成器中只有0.000000?

来自分类Dev

为什么从伪随机数生成器中只有0.000000?

来自分类Dev

在oracle中生成6位唯一随机数生成器序列

来自分类Dev

为什么生成器是详尽无遗的,而列表/元组不是?

来自分类Dev

在生成器上使用扩展语法时,为什么不检索返回值

来自分类Dev

C随机数生成器有时会生成相同的数字

来自分类Dev

C随机数生成器有时会生成相同的数字

来自分类Dev

生成器为什么不返回以下值?

来自分类Dev

无法返回生成器实例。为什么?

来自分类Dev

用Java制作13位随机数生成器

来自分类Dev

Python“所有”函数,条件生成器表达式返回True。为什么?

来自分类Dev

从runST返回随机生成器

来自分类Dev

为什么有时我们使用特定的位进行模板测试?

来自分类Dev

为什么这个Fizz Buzz生成器比这个Fizz Buzz Iterator类快得多?

来自分类Dev

我在这个随机数生成器中缺少什么

来自分类Dev

我在这个随机数生成器中缺少什么

来自分类Dev

生成一个小于4位数字的随机数,但它具有1位,2位或3位数字的概率相等

来自分类Dev

生成一个小于4位数字的随机数,但它具有1位,2位或3位数字的概率相等

来自分类Dev

尝试使用asyncio时,为什么会出现“ RuntimeError:使用yield而不是Task Task中生成器的yield”的问题?

来自分类Dev

为什么这个函数返回 0 而不是随机数

Related 相关文章

  1. 1

    64位随机生成器的种子

  2. 2

    64位随机生成器的种子

  3. 3

    为什么这个随机字符串生成器的性能如此差?

  4. 4

    为什么这个随机生成器总是输出相同的数字

  5. 5

    Javascript-如何从长度有时不是固定的随机字符串中获取3位数字?

  6. 6

    为什么 next() 有时会在生成器上隐式调用?

  7. 7

    C语言的3位数字生成器

  8. 8

    为什么此生成器返回一个函数而不是一个值

  9. 9

    为什么RStudio在View期间调用随机生成器?

  10. 10

    为什么从伪随机数生成器中只有0.000000?

  11. 11

    为什么从伪随机数生成器中只有0.000000?

  12. 12

    在oracle中生成6位唯一随机数生成器序列

  13. 13

    为什么生成器是详尽无遗的,而列表/元组不是?

  14. 14

    在生成器上使用扩展语法时,为什么不检索返回值

  15. 15

    C随机数生成器有时会生成相同的数字

  16. 16

    C随机数生成器有时会生成相同的数字

  17. 17

    生成器为什么不返回以下值?

  18. 18

    无法返回生成器实例。为什么?

  19. 19

    用Java制作13位随机数生成器

  20. 20

    Python“所有”函数,条件生成器表达式返回True。为什么?

  21. 21

    从runST返回随机生成器

  22. 22

    为什么有时我们使用特定的位进行模板测试?

  23. 23

    为什么这个Fizz Buzz生成器比这个Fizz Buzz Iterator类快得多?

  24. 24

    我在这个随机数生成器中缺少什么

  25. 25

    我在这个随机数生成器中缺少什么

  26. 26

    生成一个小于4位数字的随机数,但它具有1位,2位或3位数字的概率相等

  27. 27

    生成一个小于4位数字的随机数,但它具有1位,2位或3位数字的概率相等

  28. 28

    尝试使用asyncio时,为什么会出现“ RuntimeError:使用yield而不是Task Task中生成器的yield”的问题?

  29. 29

    为什么这个函数返回 0 而不是随机数

热门标签

归档