看板 Python 關於我們 聯絡資訊
※ 引述《darkgerm (黑駿)》之銘言: : 排除重複可以用利用 set 的特性,然後先做排序後再把重複的去掉 : import itertools : x = 4 : ans = set() : if __name__ == '__main__': : for data in itertools.product(range(1,x), repeat=7): : if sum(data) == 9: : ans.add(tuple(sorted(data))) : for i in ans: : print i : """output: : (1, 1, 1, 1, 1, 1, 3) : (1, 1, 1, 1, 1, 2, 2) : """ 上一篇提到不需要產生所有排列 突然想到其實 Python 的 itertools 也有"組合"可用 import itertools x = 4 if __name__ == '__main__': for data in itertools.combinations_with_replacement(range(1,x), 7): if sum(data) == 9: print data """output: (1, 1, 1, 1, 1, 1, 3) (1, 1, 1, 1, 1, 2, 2) """ -- 光明 的背後 是 黑暗 黑暗 的背後 還是 黑暗 由此可知 黑暗 > 光明 Q.E.D. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.230.123
sofaly:謝謝 程式語言不是我的主科目 但是日後想再研究 希望可以 11/03 11:33
sofaly:自己寫個課業上小工具 :D 11/03 11:34
juiz:這年頭很少有人的主科是 programming language 了吧 11/03 13:50