python 100题_python3.0练习100题——001
自學(xué)python3中,現(xiàn)在開(kāi)始每天在python2.71 100例中做一道題,用python3實(shí)現(xiàn),并寫(xiě)下一些思考~加油(? ??灬??)?
題目網(wǎng)站(http://www.runoob.com/python/python-100-examples.html)
001題目:有四個(gè)數(shù)字:1、2、3、4,能組成多少個(gè)互不相同且無(wú)重復(fù)數(shù)字的三位數(shù)?各是多少?
我的答案:
deffun():
n=0for x in range(1,5):for y in range(1,5):for z in range(1,5):if (x!=y) and (x!=z) and (y!=z):print("%d%d%d"%(x,y,z))
n=n+1
print("tatal:%d"%n)
fun()
思考:
1.用三個(gè)循環(huán)嵌套可以遍歷所有可能的數(shù)值,再用if條件篩選出來(lái)。但是在數(shù)據(jù)量大的時(shí)候遍歷,可能會(huì)延長(zhǎng)時(shí)間。所以可以改進(jìn)一下代碼:
deffun():
n=0for x in range(1,5):for y in range(1,5) :if y!=x: #增加if條件語(yǔ)句,讓循環(huán)要產(chǎn)生的數(shù)字減少,更省運(yùn)行時(shí)間for z in range(1,5):if (x!=z) and (y!=z):print("%d%d%d"%(x,y,z))
n=n+1
print("tatal%d"%n)
fun()
2.用permutations的方法
from itertools importpermutationsfor i in permutations([1,2,3,4],3):print("%d%d%d" %(i[0],i[1],i[2]))
itertools.permutations(iterable,r)
創(chuàng)建了一個(gè)迭代器,返回iterable中所有長(zhǎng)度為r的項(xiàng)目序列,如果省略了r,那么序列的長(zhǎng)度與iterable中的項(xiàng)目數(shù)量相同: 返回p中任意取r個(gè)元素做排列的元組的迭代器。
等于說(shuō)是從列表[1,2,3,4]任意取三個(gè)元素,各種排列后,返回含有三個(gè)元素的tuple。最后輸出的時(shí)候格式化一下就好了~
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的python 100题_python3.0练习100题——001的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: window连接不上linux ftp_
- 下一篇: python3super用法_Pytho