Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用一个列表的random.choice作为随机选择其他列表的条件?_Python_List_Random - Fatal编程技术网

Python 如何使用一个列表的random.choice作为随机选择其他列表的条件?

Python 如何使用一个列表的random.choice作为随机选择其他列表的条件?,python,list,random,Python,List,Random,例如: element = ['Flaming', 'Cold'] fire_properties = ['of Fire', 'of Flame'] cold_properties = ['of Ice', 'of Frost'] 相当简单。想要制作一个文本随机化器,并根据这个例子得到“火焰之剑”这样的结果。不幸的是,我不确定如何使第一个列表中的结果定义第二个结果将来自哪个列表。这种解决方案如何:您构建一个形容词和名词可能组合的映射,并选择其中一个: weapon_map = {"Flami

例如:

element = ['Flaming', 'Cold']
fire_properties = ['of Fire', 'of Flame']
cold_properties = ['of Ice', 'of Frost']

相当简单。想要制作一个文本随机化器,并根据这个例子得到“火焰之剑”这样的结果。不幸的是,我不确定如何使第一个列表中的结果定义第二个结果将来自哪个列表。这种解决方案如何:您构建一个形容词和名词可能组合的映射,并选择其中一个:

weapon_map = {"Flaming": ["Fire", "Inferno"], "Frozen": ["Cold", "Frost"]}
selection = random.choice(weapon_map.items())
print (selection[0] + " of " + random.choice(selection[1]))

这种方法更容易维护和理解。

这种解决方案怎么样:你构建一个形容词和名词可能组合的地图,然后选择其中一个:

weapon_map = {"Flaming": ["Fire", "Inferno"], "Frozen": ["Cold", "Frost"]}
selection = random.choice(weapon_map.items())
print (selection[0] + " of " + random.choice(selection[1]))

这种方法更容易维护和理解。

好吧,我首先写了这篇文章,但Boris的更简洁,所以我决定不提交。。。不过,对于初学者来说,这可能更具可读性

quality_list =  ['Flaming', 'Frozen', 'etc.']
quality = random.choice(quality_list)

item_list = ['Sword', 'Dagger', 'Mace', 'etc.']
item = random.choice(item_list)


hot_qualities = ['Flaming', ...]
cold_qualities = ['Frozen', ...]
hot_elements = ['Fire', 'Inferno']
cold_elements = ['Cold', 'Frost']

if quality in hot_qualities:
    element = random.choice(hot_elements)
elif quality in cold_qualities:
    element = random.choice(cold_elements)

# NB this is Python 2.X's print and string format, adjust accordingly for 3.X
print "%s %s of %s" % (quality, item, element)

虽然在真实的项目中,我会像Boris那样进一步推广它。

好吧,我首先写了这篇,但Boris的更简洁,所以我决定不提交。。。不过,对于初学者来说,这可能更具可读性

quality_list =  ['Flaming', 'Frozen', 'etc.']
quality = random.choice(quality_list)

item_list = ['Sword', 'Dagger', 'Mace', 'etc.']
item = random.choice(item_list)


hot_qualities = ['Flaming', ...]
cold_qualities = ['Frozen', ...]
hot_elements = ['Fire', 'Inferno']
cold_elements = ['Cold', 'Frost']

if quality in hot_qualities:
    element = random.choice(hot_elements)
elif quality in cold_qualities:
    element = random.choice(cold_elements)

# NB this is Python 2.X's print and string format, adjust accordingly for 3.X
print "%s %s of %s" % (quality, item, element)

尽管在实际项目中,我会像Boris一样进一步推广它。

可惜我从未见过你在学习python(与老师一起)一段时间后(在实际编程课程开始之前)所写的任何东西(除了“打印”)。甚至不知道“hash”是什么。@user1275670:那么我会说这可能是一个开始:)太糟糕了,我从来没有见过你在学习python很长一段时间后写的东西(除了“print”),甚至在实际的编程课程开始XD之前。甚至不确定“散列”是什么。@user1275670:那么我会说这可能是一个开始:)我想我可能会开始一个Python课程:)至于in关键字-read或向下滚动到'in and Not in'in。我想我可能会开始一个Python课程:)至于in关键字-read或向下滚动到'in and Not in'in。