我需要从武器,盔甲,饰品,宠物列表中生成所有可能的组合。你知道吗
我需要他们在3套,意思是3个“球员”,每个人都有一个以上的项目,没有球员可以有同一个项目作为另一个球员。你知道吗
我试图从给定的选项中生成3个玩家可以拥有的所有组合,目的是运行一个函数,最终确定哪个项目分布将在游戏中产生最佳结果。你知道吗
我有一些代码在工作,但是我得到了重复的项,就像在我的示例代码中,您在combol[0]中看到的那样,它们都有相同的斧头,这就是我试图避免的。你知道吗
import random
def grand():
return random.randrange(0, 10000)
weapons = [
["Ad axe", "Axe", grand() , grand(), grand()],
["Stinky sword", "Sword", grand(), grand(), grand()],
["Purple Magic Stick", "Staff", grand(), grand(), grand()]
]
armor = [
["Purple Blazer", grand(), grand(), grand()],
["Stinky Coat", grand(), grand(), grand()],
["Red Robe", grand(), grand(), grand()]
]
trinkets = [
["Moist Coin", grand(), grand(), grand()],
["Stinky Chowder", grand(), grand(), grand()],
["Red Rock", grand(), grand(), grand()]
]
pets = [
["Moist Dragon", grand(), grand(), grand()],
["Stinky Cat", grand(), grand(), grand()],
["Red Racoon", grand(), grand(), grand()]
]
import itertools
perm = itertools.product(weapons,armor,trinkets,pets)
perml = list(perm)
combo = itertools.permutations(perml,3)
combol = list(combo)
print len(perml)
print len(combol)
def forx(pants):
for x in pants:
print x
def inspector(pants):
for x in pants:
forx(x)
print ""
print "combol[0]"
inspector(combol[0])
print "combol[1]"
inspector(combol[1])
combol[0]
['Ad axe', 'Axe', 7125, 9777, 6994]
['Purple Blazer', 9479, 8226, 8376]
['Moist Coin', 76, 64, 4694]
['Moist Dragon', 868, 9005, 117]
['Ad axe', 'Axe', 7125, 9777, 6994]
['Purple Blazer', 9479, 8226, 8376]
['Moist Coin', 76, 64, 4694]
['Stinky Cat', 4081, 2507, 4474]
['Ad axe', 'Axe', 7125, 9777, 6994]
['Purple Blazer', 9479, 8226, 8376]
['Moist Coin', 76, 64, 4694]
['Red Racoon', 9434, 8935, 2005]
您可以使用zip一次从
weapons,armor,trinkets,pets
中选择所有元素,并将它们组合起来输出
相关问题 更多 >
编程相关推荐