import random
def choice_n (n):
n_ = [x for x in range(10)]
m_ = []
if n > 0:
for i in range(n):
m_=list1+list2
list1=random.sample(range(1,10),1)
list2=random.sample(range(0,10),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):
n_ = [x for x in range(10)]
m_ = []
if n > 0:
for i in range(n):
list1=random.sample(range(1,10),1)
list2=random.sample(range(0,10),n-1)
m_=list1+list2
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):
x = list(map(str,range(10))) # 即: x = list('1234567890')
random.shuffle(x)
if x[0]=='0':
x[0],x[1]=x[1],x[0]
return int(''.join(x[:n]))
for i in range(2,11):
for _ in range(3):
print(choice_n(i))