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为止。