Python 案例001 (有四個數字:1、2、3、4,能組成多少個互不相同且無重複數位三位元)__Python

來源:互聯網
上載者:User

題目內容來自網路 ,加入了個人理解的過程 ,和點評


#!/usr/bin/python# -*- coding: UTF-8 -*-#Author : Wumi#題目:有四個數字:1、2、3、4,能組成多少個互不相同且無重複數位三位元。各是多少。#程式分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去 掉不滿足條件的排列。# 如果四個數字中有個零  ,難度就稍微增加了num =[] # listfor i in range(1,5): # range 的高位是不包括在內的    for j in range(1,5):        for k in range(1,5):            if i!=j and i != k and  j!=k :                print i,j,k                print k,j,i # reverse num                num.append([i,j,k])print "how many num we have of the permutation and combination :",len(num)   # 24# big tall up#將for迴圈和if語句綜合成一句,直接列印出結果lists =[ (i*100+10*j+k) for i in range(1,5) for j in range(1,5) for k in range(1,5) if ( i!=j and i !=k and j!=k )]print len(lists)print len(lists),":",lists# use set function to remove the duplicate numbers    ,set 是沒有重複資料的# one important tips is that the alphabet can uses join function +alphabetList = ['1','2','3','4']numberList = [ int(i+j+k) for i in alphabetList for j in alphabetList for k in alphabetList if (len(set(i+j+k)) ==3)]print numberList ,":",len(numberList)# question is why i != k and != j ? 也就是為什麼沒有重複位 。。 譬如 111 or 122 等# here is the core reason ::lists =['1','2','3']for i in lists:    for j in lists:        print set(i+j) # add memeber into set using plus +  ---> set(['1', '2'])  ,no replicate data        print int(i+j)"""set(['1'])11set(['1', '2'])12set(['1', '3'])13set(['1', '2'])21set(['2'])22set(['3', '2'])23set(['1', '3'])31set(['3', '2'])32set(['3'])33"""


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.