![](/img/trans.png)
[英]python/django for loop creating database populated with 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.