Python3 100範例-1
有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位元數?各是多少?
print ("有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位元數?各是多少?")
total=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(k!=i)):
print("%1d%1d%1d" %(i,j,k))
# print(i,j,k)
total+=1
print("總數=%d" %(total))
'''
itertools 包含一系列用來產生不同類型迭代器的方法,這些方法都會回傳一個迭代器,
可以透過迴圈的方式取值,也可以使用 next() 來取值
permutations(p)
itertools.permutations(p) 會將可迭代物件按照順序,進行所有不重複的排列組合,並回傳最後的結果
'''
import itertools
sum2=0
a=[1,2,3,4]
for i in itertools.permutations(a,3):
print(i)
sum2+=1
print(sum2)
>>> %Run -c $EDITOR_CONTENT
有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位元數?各是多少?
123
124
132
134
142
143
213
214
231
234
241
243
312
314
321
324
341
342
412
413
421
423
431
432
總數=24
(1, 2, 3)
(1, 2, 4)
(1, 3, 2)
(1, 3, 4)
(1, 4, 2)
(1, 4, 3)
(2, 1, 3)
(2, 1, 4)
(2, 3, 1)
(2, 3, 4)
(2, 4, 1)
(2, 4, 3)
(3, 1, 2)
(3, 1, 4)
(3, 2, 1)
(3, 2, 4)
(3, 4, 1)
(3, 4, 2)
(4, 1, 2)
(4, 1, 3)
(4, 2, 1)
(4, 2, 3)
(4, 3, 1)
(4, 3, 2)
24
>>>
沒有留言:
張貼留言