2024-05-23 23:43:53 发布
网友
示例:
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]))
这种方法更易于维护和理解。你知道吗
嗯,我第一次写这个,但鲍里斯的更简洁,所以我决定不提交。。。不过,对初学者来说可能更容易阅读。你知道吗
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)
但在实际项目中,我会像鲍里斯那样进一步概括。你知道吗
这样的解决方案怎么样:你构建一个形容词和名词可能组合的地图,然后选择其中一个:
这种方法更易于维护和理解。你知道吗
嗯,我第一次写这个,但鲍里斯的更简洁,所以我决定不提交。。。不过,对初学者来说可能更容易阅读。你知道吗
但在实际项目中,我会像鲍里斯那样进一步概括。你知道吗
相关问题 更多 >
编程相关推荐