import itertools
'''
有随机4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
这题还算比较简单,思路是:
1.先确定百位数、然后是十位数、个位数。1-4 四个数字循环一遍,就都全出来了。
2.如果不放心结果是否有重复,最后一行可以改成 print(set(res)),把 res 的类型由列表改为集合(set),因为集合不允许有重复值,所以就可以保证结果的不重复性了。
'''
def my_func_1(list2):
my_set = {
}
my_list = []
for i in itertools.permutations(list2,3):
if i[0]!=i[1] and i[1]!=i[2] and i[0]!=i[2]:
my_list.append(i)
if my_list:
my_set = set(my_list)
for item in my_set:
my_num = 100*item[0]+10*item[1]+item[2]
print(my_num,end=' ')
print()
print(len(my_set))
return ""
def my_func_2():
my_num = []
my_count = 0
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i != j and j != k and i !=k:
num_1 = 100*i+10*j+k
my_num.append(num_1)
my_count+=1
if my_num:
return my_num,my_count
def my_func_3():
res = []
my_count = 0
for i in range(1,5):
for j in range(1,5):
if j != i:
for k in range(1,5):
if k != j and k!=i:
res.append(i*100+j*10+k)
my_count+=1
print(res,my_count)
if __name__=="__main__":
list1 = [1, 2, 2, 4]
print(my_func_1(list1))