python随机生成7位数

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

import random
def choice_n (n):
n_ = [x for x in range(10)]
m_ = []
if n > 0:
for i in range(n):



t = [str(x) for x in m_]
t = "".join(t)
return eval(t)
else:
return -1
print(choice_n(7))

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

必须且只能写三句?

import random
def choice_n (n):
    n_ = [x for x in range(10)]
    m_ = []
    if n > 0:
        for i in range(n):
            m_.append(random.choice(n_))
            if i==0:
                m_=[random.choice(range(1,10))]
        t = [str(x) for x in m_]
        t = "".join(t)
        return eval(t)
    else:
        return -1
print(choice_n(7))

代码如下:

import random


def choice_n(n):
    n_ = [x for x in range(10)]
    m_ = []
    if n > 0:
        for i in range(n):
            temp = n_[random.randint(0,9)] if i!=0 else n_[random.randint(1,9)]
            m_.append(temp)
        t = [str(x) for x in m_]
        t = "".join(t)
        return eval(t)
    else:
        return -1
print(choice_n(7))

输出为:

5035863
import random
def choice_n (n):
    n_ = [x for x in range(10)]
    m_ = []
    if n > 0:
        for i in range(n):
            m_.append(random.choice(n_))
            if i==0 and m_[0]==0:
                m_[0]=random.choice(n_[1:])
        t = [str(x) for x in m_]
        t = "".join(t)
        return eval(t)
    else:
        return -1
print(choice_n(7))

如果不是填空题,可以简写为:

import random
def choice_n(n):
    t = [random.choice(range(1,10))]+random.choices(range(10),k=n-1)
    return sum(map(lambda x:x[1]*10**x[0],enumerate(t[::-1])))
print(choice_n(7))