Как создать последовательную цепь из слов-ключей?

Как должно выглядеть

Допустим. Я создал словарь, и у каждого слова есть два ключа. Возможно ли построить цепь из слов, с последовательными ключами 1, 2 > 2, 4 > 4, 1; 2, 4 > 4, 1 > 1, 2; используя random?


Ответы (1 шт):

Автор решения: Максим Фисман

Не совсем понял вопрос и зачем тут random, но походу вам нужно что-то подобное?

words = {
    3: ['apple', 1],
    1: ['rock', 2],
    2: ['land', 4],
}

index = 3

while index in words:
    block = words[index]
    
    print(block[0])
    index = block[1]

В комментариях был задан вопрос об ограничении цепи. В таком случае немного подредактируем цикл:

length = 5

while index in words and length > 0:
    # Все, что было до этого
    length -= 1

P.S. Это при условии, что цепь непрерывна и без циклов, т.е. от каждого input мы приходим в одно и только одно слово, из которого выходим по одному и только одному output

→ Ссылка