我想得到一个随机6位数,为什么赋值到变量后,打印输出变量却是7位的?

直接调用下面的函数,得到的是6位的:


def random1():
    i6 = 0
    while i6 < 6:
        num = random.randint(0, 9)
        i6 += 1
        print(num, end='')
    return num

random1()

结果:

img

而稍微改一下后的结果为什么是7位数了?


def random1():
    i6 = 0
    while i6 < 6:
        num = random.randint(0, 9)
        i6 += 1
        print(num, end='')
    return num


a = random1()
print(a)

结果:

img

 

 为什么不是六位数了?如果我想将前面到6位数字赋值给一个变量,该怎么做?

因为你不打印a的话,他只输出函数里的 print(num, end='')一共打印了6次,所以是6位数,
如果你打印了a,那么就多打印一次num,num为0-9之间的随机数,那么就是7位数。
赋值给一个变量参考我的代码:

import random


def random1():
    i6 = 0
    str_ = ''
    while i6 < 6:
        num = random.randint(0, 9)
        str_ += str(num)
        i6 += 1

    return str_


a = random1()
print(a)


print(a)