python組合
① 想利用python給多個字詞想讓他們兩兩組合
num=int(input('請輸入10以內的數值:'))+1
foreachinrange(1,num):
each=str(each)
foreach1inrange(1,num):
each1=str(each1)
ifeach1==each:
continue
s=each+each1
print(s)
② 如何使用Python的遞歸方法來實現組合數
defC(n,m):
ifm>n:
return0
elifm==1:
returnn
elifn==1:
return1
else:
returnC(n-1,m-1)+C(n-1,m)
print(C(5,1))#5
print(C(5,2))#10
print(C(5,3))#10
print(C(5,4))#5
print(C(5,5))#1
③ Python 是否支持對象之間的組合關系
# 由一堆組件構成一個完整的實體,組建本身獨立,但又不能自己運行,必須跟宿主組合在一起,運行。class Dog: #狗
def __init__(self,name,dog_type,attack_val):
self.name = name #姓名
self.dog_type = dog_type #種類
self.attack_val = attack_val #攻擊力
self.life_val = 100 #生命值class Person: #人
def __init__(self,name,sex,attack_val):
self.name = name #姓名
self.sex = sex #種類
self.attack_val = attack_val #攻擊力
self.life_val = 100 #生命值
self.weapon = Weapon() #直接實例化武器類
def attack(self,obj,weapon_name,weapon_val):
agg = weapon_val + self.attack_val #人的攻擊力等於自身攻擊力加上武器的攻擊之和
life_val = obj.life_val - agg #狗的生命值減去人的攻擊力,得到狗的剩餘生命
print('{}使用{}攻擊了{},{}損失{}點生命值,剩餘生命值{}'.format(self.name,weapon_name,obj.name,obj.name,weapon_val,life_val))class Weapon: #武器
def stick(self): #打狗棒
self.name = '打狗棒'
self.attack_val = 25 return self.name,self.attack_val def knife(self,obj): #屠龍刀
self.name = '屠龍刀'
self.attack_val = 40 def gun(self,obj): #AK47
self.name = 'AK47'
self.attack_val = 40d = Dog('小黑','哈士奇',20) #小黑p = Person('wdc','男',30) #wdcweapon_name,weapon_val = p.weapon.stick() #使用對象p執行武器類中的方法:這里選擇的武器是stick()方法下的"打狗棍"p.attack(d,weapon_name,weapon_val) #執行p對象下的attack(攻擊)方法,人攻擊狗(狗的對象,武器名稱,武器攻擊力)
④ 如何用python編寫排列組合
importmath
importrandom
oTemp=[]
oList=[]
i=0
whileTrue:
a=random.randint(1,4)
ifainoTemp:
continue
else:
oTemp.append(a)
i+=1
ifi%4==0:
Num=oTemp[0]*1000+oTemp[1]*100+oTemp[2]*10+oTemp[3]
ifNuminoList:
i=0
oTemp=[]
continue
else:
oList.append(Num)
i=0
oTemp=[]
iflen(oList)==24:
break
forminoList:
forninrange(2,int(math.sqrt(m))+1):
ifm%n==0:
oList.remove(m)
break
printoList
這段代碼是用1-4生成4位數,4個位上的數字不相同的素數。可以做下參考
⑤ 用python把幾組數據按順序組合
A=['name1','name2','name3']
B=[78,95,85]
C=[60,88,99]
D=[90,85,100]
index=len(A)
foriinrange(index):
printA[i],B[i],C[i],D[i]
⑥ python 如何編寫把兩個字組合在一起
如果是字元串直接+就是了。
a="a"
b="b"
c=a+b
printc
如果解決了您的問題請採納!
如果未解決請繼續追問
⑦ python怎麼生成list的所有元素的組合
生成排列可以用proct:
from itertools import proct
l = [1, 2, 3]
print list(proct(l, l))
print list(proct(l, repeat=4))
組合的話可以用combinations:
from itertools import combinations
print list(combinations([1,2,3,4,5], 3))
下面是我以為沒有combinations然後自己寫的,沒有itertools的python(2.6以下)可供參考。
import
def combine(l, n):
answers = []
one = [0] * n
def next_c(li = 0, ni = 0):
if ni == n:
answers.append(.(one))
return
for lj in xrange(li, len(l)):
one[ni] = l[lj]
next_c(lj + 1, ni + 1)
next_c()
return answers
print combine([1, 2, 3, 4, 5], 3)
輸出:
[[1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 3, 4], [1, 3, 5], [1, 4, 5], [2, 3, 4], [2, 3, 5], [2, 4, 5], [3, 4, 5]]
⑧ python怎麼合並兩個列表的內容
~$ python
Python 2.7.3 (default, Mar 14 2014, 11:57:14)
[GCC 4.7.2] on linux2
Type "help", "right", "credits" or "license" for more information.
>>> a = [1, 2, 5, 8 ,12,6,1]
>>> b = [25, 13, 6, 9,3,2]
>>> a + b
[1, 2, 5, 8, 12, 6,1,25, 13, 6, 9,3,2]
>>>
⑨ python 數組組合
mm=[['a','b','c','d','e'],[1,2,3,4],[5,6,7,8],[9,10,11,12,13]]
longs=[]
forninmm:
longs.append(len(n))
ll=max(longs)
printll
outall=[]
foriinrange(0,ll,2):
outone=[]
forjinmm:
ifi<ll-1:
printi
outone.append(j[i])
outone.append(j[i+1])
else:
try:
outone.append(j[i])
except:
pass
outall.append(outone)
printoutall
結果:[['a','b',1,2,5,6,9,10],['c','d',3,4,7,8,11,12],['e',13]]
代碼中的2,就是你要的,改成4,下面i改到+3為止。