Я относительно новичок в программировании, и поэтому я спрашиваю больше о совете / руководстве о том, как действовать с конкретной проблемой, вместо того, чтобы запрашивать конкретный совет по коду.
Я пытаюсьсоздать часть программного обеспечения, которая при запуске из консоли запрашивает у пользователя «a», «b» или «c».Когда выбор сделан, он сохраняет этот результат в пустой список (собирался использовать .append) и, в зависимости от предыдущего сделанного выбора, ответвляет / предоставляет пользователю выбор новых опций на выбор.Когда они достигли конца процесса принятия решения, он распечатал бы список, чтобы пользователь мог видеть их выбор.
Я думал об этом как о дереве решений и сделал эту довольно плохую диаграммудля меня, чтобы помочь осмыслить его структуру и правила (например, в какие варианты / варианты включаются).
введите описание изображения здесь
Если вы перейдете по ссылке, вы можетесм. диаграммуПо сути, я думал о создании очень длинной и уродливой цепочки if-elif-else с несколькими вложенными операторами if, в которой использовалась бы условная логика, которая предоставит пользователю определенные параметры в зависимости от того, что они ранее выбрали.Например, чтобы добраться до «c3», все, что вам нужно сделать, это выбрать C в начале, а затем следовать цепочке c1 -> c2 -> c3.Что является очень линейной прогрессией.но если вы хотите попасть в «ab2», у пользователя есть два способа добраться: A -> a2 -> ab1 -> ab2 или B -> b1 -> ab1 -> ab2;который имеет немного больше динамического развития.
Как бы вы это построили?Есть ли какие-то конкретные вещи / концепции, о которых мне следует подумать, например, создать это в функции, являющейся циклом while, или, возможно, использовать словарь вместо пустого списка?
Я понимаю, если этот тип вопроса не является стандартным длявот и поэтому получает голосование.Но это программный проект, основанный на моей идее, и любая форма информации, которая заставит меня задуматься в правильном направлении, будет принята.