繁体   English   中英

如何在python中获得一个随机的4位数字,从0000-9999

[英]How to get a random 4 digit number in python, from 0000-9999

我想知道如何产生一个从 0000 到 9999 的随机数。它需要是 4 位长。 我试过random.randint(0000,9999) ,但这有时会给出少于 4 位数的数字。 我怎么能做到这一点?

虽然 Hippolippo 的解决方案适用于 1-9,但它不允许前导零。

我们可以使用 Python 的格式来允许前导零:

x = format(random.randint(0000,9999), '04d')

x = random.randint(1000,9999)这将从 4 位数字开始
如果您需要它作为字符串,请查看 EugeneProut 的答案

def dig4num():
    number = str(random.randint(0 , 9999))
    lennum = len(number)
    subsrac = 4 - lennum
    multizero = '0' * subsrac
    strmzero = str(multizero)
    if lennum == 4:
        return number
    else:
        answah = strmzero + number
        return answah
for i in range(50):
    print(dig4num())

哈哈,我很惊讶我们能做到这一点,我会逐行解释这一点

所以一开始我们把它变成一个函数,为什么不呢,你也可以把它用作普通的代码行..

数字等于 random.randint 会给我们什么

lennum 等于数字的长度

subsrac 等于最大长度减去数字长度

multizero 基本上乘以 str,如果 subsrac 是 2,它会输出 str(00)

strmzero 等于 multizero 的字符串变化,我们需要它,因为它非常重要

现在我们告诉这里的程序如果数字的长度等于数字的最大可能长度,它只会输出数字,因为没有什么大的

并且在除 lennum 等于 4 之外的任何其他条件下,

answah 等于 mzero + 数字本身的字符串变化

并且它返回 answah 的值,如果您想使用该函数而不将其放入 print,则可以使用 print 更改它

在这里它打印了 50 次,我这样做是为了看看它是否真的能正常工作,哈哈。

尽管您应该在这里学习的是,您可以通过在字符串之间添加 + 来将字符串附加到字符串,但它正在被一一添加,例如:

a = 'haha nice lol'
b = 'haha nope'
c = a + b
print(c)

>>> haha nice lolhaha nope

哈哈祝你的编码之旅好运

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM