當前位置:首頁 » 編程語言 » Python全排列

Python全排列

發布時間: 2022-08-18 02:06:39

python作業:用分支語句實現對鍵盤輸入的四個數字按從小到大的順序排列輸出

def permutation(result, str, list):
"""
取一個數組的全排列
list:為輸入列表
str:傳空字元串
result: 為結果列表
"""
if len(list) == 1:
result.append(str + "," + list[0])
else:
for temp_str in list:
temp_list = list[:]
temp_list.remove(temp_str)
permutation(result, str + "," + temp_str, temp_list)

測試調用

[python] view plain
test = []
permutation(test,"",['cn_444934666','cn_363488188','cn_414478124'])
print test

⑵ Python全排列怎麼儲存

python最注重的就是格式,因為有格式,所以python沒有大括弧這樣的東西,也沒有語句結束詞,所以,下次提問把格式打上,大家都很忙,沒空研究你這個代碼

---------------

沒毛病啊,和你預想的一樣,代碼沒有改動

⑶ Python中用遞歸的思想求ABCDE的全排列

defp(s,res=[]):
#將字元c插入到數列ar中,會有多少種排列
defh(c,ar):
return[ar[:i]+[c]+ar[i:]foriinrange(len(ar)+1)]
#已有結果arr的基礎上,如果增加c字元,arr會變成多少種排列
defg(c,arr,res=[]):
ifarr==res==[]:
return[[c]]
elifarr==[]:
returnres
else:
returng(c,arr[1:],res+h(c,arr[0]))
#主體遞歸
ifs=='':
returnres
else:
returnp(s[1:],g(s[0],res))

if__name__=='__main__':
s='ABCDE'
forxinp(s):
print(''.join(x))

⑷ 用python實現全排列 遞增進位制數演算法和遞減進位制演算法。

這個簡單. 假設你要N個p t組合, p 和 t的范圍是 [pmin, pmax], [tmin, tmax]. :
import random
N = 100
pmin = 0
pmax = 1000
tmin = 0
tmax = 100
r = random.Random()
r.seed() #刷新隨即數種子
for i in range(N)
p = r.randint(pmin, pmax)
t = r.randint(rmin, rmax)
s = p*t
print p,t,s

可以把N pmin pmax tmin tmax,設置為你需要的參數。

⑸ 怎麼用python把 夢幻西遊 寫出缺少一個字的全排列

#-*-coding:utf-8-*-
str1=u'夢幻西遊'
foriinstr1:
list1=str1.split(i)
iflist1[0]==''orlist1[1]=='':
printlist1[0]+list1[1]
else:
printlist1[0]+''+list1[1]

>>>

幻西遊

夢 西遊

夢幻 游

夢幻西

⑹ python程序全排列運行不出結果

可以使用回溯法進行全排列,代碼如下:

#coding=utf-8

a=['a','b','c','d','e','f']

defcheck(b,index,ch):
foriinb:
ifi==ch:
returnFalse
returnTrue

defenum(b,index):
ifindex==len(a):
print(b)
else:
forqina:
ifcheck(b,index,q):
b=b+q
enum(b,index+1)
b=b[0:-1]

if__name__=='__main__':

b=''
enum(b,0)

運行結果:

⑺ python全排列代碼,求解釋

defperm(l):
#定義自定義函數函數名為perm參數為l當傳入參數時l等於該參數
if(len(l)<=1):
#if語句如果傳入的參數l的長度小於等於1(也就是0)則運行下面代碼否則跳過該if##語句
return[l]
#返回列表[l]此處為遞歸的終止
r=[]
#定義列表並初始化r
foriinrange(len(l)):
#for循環(c語言常這么說)迭代i的變化范圍為0到l(字母L)的長度-1
s=l[:i]+l[i+1:]
#將l的前三項以及l的第i+1後的字串賦給s
p=perm(s)
#遞歸將s做perm的處理遞歸請網路
forxinp:
#迭代p列表
r.append(l[i:i+1]+x)
#將l的第i項添加進r列表
returnr
#返回r列表

函數功能:將傳入perm()的字串、列表等參數進行全排列 並返回全排列後的列表


#遞歸不是人的思考方式…

熱點內容
如何做一個代理伺服器 發布:2025-01-20 00:18:39 瀏覽:803
android背單詞源碼 發布:2025-01-19 23:57:21 瀏覽:727
領動配置怎麼樣 發布:2025-01-19 23:56:35 瀏覽:83
python造數據 發布:2025-01-19 23:51:31 瀏覽:903
linux下卸載mysql 發布:2025-01-19 23:40:34 瀏覽:339
linuxweb路徑 發布:2025-01-19 23:25:08 瀏覽:941
福建電信伺服器ip地址 發布:2025-01-19 23:07:24 瀏覽:648
伺服器怎麼製作公告欄 發布:2025-01-19 23:06:23 瀏覽:874
英雄聯盟皮膚源碼 發布:2025-01-19 22:56:14 瀏覽:95
三星手機忘記解鎖密碼怎麼辦 發布:2025-01-19 22:45:43 瀏覽:292