一个Random.Randint将diff编号分配给多个变量/字符串

时间:2014-04-26 05:26:18

标签: python

我希望以下列方式打印出一串10位数的随机数字(0,9):

1234567890

1234567890

1234567890

1234567890

我希望它具有易于配置的数量;就像我要说的那样,我想为10个随机数运行它;快速更改代码然后运行100

1234567890 x 100 #with a new line every time. 

这是我到目前为止所做的,但我无法想出一种方法可以打印出倍数:

import random

limit = 10

count = 0

long_number = ""

while count != 10:

    long_number += str(random.randint(0, 9))

    count += 1

print (long_number)

3 个答案:

答案 0 :(得分:0)

我认为这就是你想要的:

您可以执行以下操作来获取long_num或特定长度的随机数:

import random
def print_rand_len(num):
    long_num = ""
    for k in range(num):
        long_num+=str(random.randint(0, 9))
    return int(long_num)

运行如下:

>>> print_rand_len(5)
83309
>>> print_rand_len(3)
025
>>> print_rand_len(2)
41
>>> print_rand_len(6)
153632
>>> 

或者你可以这样做:

import random
def print_rand_len(num):
    return random.randint(10**(num-1), (10**num)-1)

运行如下:

>>> print_rand_len(3)
964
>>> print_rand_len(3)
712
>>> print_rand_len(5)
56699
>>> print_rand_len(2)
72
>>> print_rand_len(13)
6372486964269
>>> 

答案 1 :(得分:0)

random.randint(0, 10**10-1)将直接生成一个10位数的数字而不会逐渐增加。围绕它创建循环留作练习。

答案 2 :(得分:0)

首先,你可以通过一次抓取所有随机数字来节省大量的麻烦:

print random.randint(0, 9999999999)

你可以把东西包裹在一个函数中:

def rand10():
    print random.randint(0, 9999999999)

你可以在循环中调用该函数:

for i in range(10):
   rand10()

你甚至可以在函数中包含

def randN(n):
  for i in range(n):
     rand10()

randN(8)