Я пытаюсь написать случайную фэнтезийную встречу. При случайном выборе из основного списка вы попадете во второй список, который приведет вас к третьему списку:
- РУИНЫ-> руины-> усадьба-> хижина
или
- РУИНЫ -> руины-> деревня-> 4-24 лачуги:
wide_categories = ['РУИНЫ', 'РЕЛИКИ' и т. Д.]
ruins = ['manor', 'village', 'city', etc]
manor = ['hut', 'hovel', 'hall', etc]
village = ['2-12 huts', '4-24 hovels', '6-36 cottages', etc]
city = ['7-42 huts and a citadel', '8-48 houses', etc]
поэтому я написал это:
a = random.randint(0, 1)
b = random.randint(0, 5)
c = random.randint(0, 5)
def place():
if a == 0 and b == 0 and c == 0:
result = 'the ruins of hut'
elif a == 0 and b == 0 and c == 1:
result = 'the ruins of a hovel'
elif a == 0 and b == 0 and c == 2:
result = 'the ruins of a hall'
elif a == 0 and b == 0 and c == 3:
result = 'the ruins of a villa'
elif a == 0 and b == 0 and c == 4:
result = 'the ruins of a cottage'
elif a == 0 and b == 0 and c == 5:
result = 'the ruins of a palace'
et c ...
Это работает, у меня всего миллион операторов elif, и я повторяю через каждый список вручную. Есть ли лучший способ автоматически сгенерировать результат? Так что, когда "RUINS" выбирается случайным образом, он затем попадает в список "руин", а затем случайным образом выбирает "усадебную деревню или город", а затем на основе этого выбора выбирает из этих списков подсписок?