标题:由6,7,8,9四个数字能构成多少个互不相同且无重复数字的三位数?分别是多少?
```
# 利用穷举法实现求解
NUM = 0;
numbers = [6,7,8,9]
for i in numbers:
for j in numbers:
for k in numbers:
if ((i!=j) and (i!=k) and (j!=k)):
print(i,j,k)
NUM = NUM +1
print(NUM)
```
别的可以接纳python的迭代器来完成。
迭代器最大的特点是惰性求值,即只有当迭代至某个值时,才会对其举行盘算,而不是一开始就盘算出全部的值。
迭代器特殊得当应用于大文件,无穷聚集等,由于无需将他们一次性传入内存中。
itertools是Python内置的模块,此中包罗了一系列迭代器相关的函数和类。
此中permutations方法是用来天生分列的
用法:permutations(iterable[, r])
此中,r 指定天生分列的元素的长度,假如不指定,则默以为可迭代对象的元素长度。
```
from itertools import permutations
NUM = 0;
numbers = [6,7,8,9]
for i in permutations(numbers, 3):
print(i)
NUM = NUM+1
print(NUM)
``` |