我有一个2d数组,我想从程序中搜索。
HabitatGroups = [["amethyst","silver","crystal","copper","red"],#mountain/hill
["black","gold","green"],#swamp/forest
["amethyst","blue","bronze","gold","topaz"],#water adjacent
["blue","brass","copper"],#warm dry
["white","crystal","silver"],#cold
["sapphire","emerald","crystal","amethyst","blue"]]#underground
x=input("Choose a type of dragon")基本上,我希望程序取x,并使用它从x所在的所有列表中随机选择。如果x是“银色”,程序将搜索山/山和冷段的数组,并随机选择一个不同的选项。我该怎么做?
发布于 2022-06-29 18:47:36
一个可能的解决方案是使用random.choice
import random
HabitatGroups = [
["amethyst", "silver", "crystal", "copper", "red"], # mountain/hill
["black", "gold", "green"], # swamp/forest
["amethyst", "blue", "bronze", "gold", "topaz"], # water adjacent
["blue", "brass", "copper"], # warm dry
["white", "crystal", "silver"], # cold
["sapphire", "emerald", "crystal", "amethyst", "blue"], # underground
]
x = input("Choose a type of dragon: ")
sample = set()
for g in HabitatGroups:
if x in g:
for v in g:
if v != x:
sample.add(v)
print(random.choice(list(sample)) if len(sample) > 0 else "Not Found")打印(例如):
Choose a type of dragon: silver
crystal如果在HabitatGroups中找不到输入,它会打印Not Found。
注意:考虑在HabitatGroups中使用sets而不是list来加快sample列表的创建。
https://stackoverflow.com/questions/72806185
复制相似问题