題目:有四個數字:1、2、3、4,能組成多少個互不相同且無重復數字的三位數?各是多少?
程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。
程序源代碼
方法1:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if( i != k ) and (i != j) and (j != k):
print i,j,k
上面實例輸出如下: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
方法2:
用集合去除重復元素
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import pprint
list_num = ['1','2','3','4']list_result = []for i in list_num:
for j in list_num:
for k in list_num:
if len(set(i + j + k)) == 3:
list_result += [int(i + j + k)]print("能組成%d個互不相同且無重復數字的三位數:"%len(list_result))
pprint.pprint(list_result)
輸出結果和上面一樣,不過有一點,是以集合的形式輸出的。
總結
以上就是本文關于Python輸出由1,2,3,4組成的互不相同且無重復的三位數的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
您可能感興趣的文章:python3實現字符串的全排列的方法(無重復字符)Python生成不重復隨機值的方法python 生成不重復的隨機數的代碼Python簡單實現查找一個字符串中最長不重復子串的方法python生成不重復隨機數和對list亂序的解決方法Python編程實現生成特定范圍內不重復多個隨機數的2種方法Python生成8位隨機字符串的方法分析python無限生成不重復(字母,數字,字符)組合的方法