Okay,Условная петля через все значения, основанные на первом значении
Итак, у меня возникла проблема с формулировкой этого вопроса. Возможно, проще привести пример:
Предположим, мы рассмотрим четыре сезона: зима, весна, лето и осень (в этом конкретном порядке). И предположим теперь, что мы имеем следующий текст:
I love the Summer.
The Winter is not a good season.
Spring brings more joy.
And Fall is the best.
Теперь предположим, что у меня есть программа, которая считывает файл, и при встрече первый сезон (в данном случае, Summer) заменяет все другие сезоны с первой инстанции , Затем он печатает текст снова, на этот раз со следующим сезоном, неоднократно, до тех пор, пока не будут покрыты все сезоны.
Например, выше текст должен произвести следующий вывод:
//..Replace with 'Summer'
I love the Summer.
The Summer is not a good season.
Summer brings more joy.
And Summer is the best.
//.. Replace with 'Winter'
I love the Winter.
The Winter is not a good season.
Winter brings more joy.
And Winter is the best.
//.. Replace with 'Spring'
I love the Spring.
The Spring is not a good season.
Spring brings more joy.
And Spring is the best.
//.. Replace with 'Fall'
I love the Fall.
The Fall is not a good season.
Fall brings more joy.
And Fall is the best.
Теперь, однако, если стихотворение гласил:
I love the Fall.
The Winter is not a good season.
Spring brings more joy.
And Summer is the best.
Программа будет начать с заменой каждого экземпляра сезон с «Падением», а затем сделать то же самое для зимы, весны и лета. (Так как зима, весна, лето, осень) является порядком по умолчанию.
Вкратце: первый встреченный сезон определяет первую итерацию действия «заменить». То есть, если «Лето» встречается, весь текст заменяет его на лето. Затем с Зимой, весной и осенью. Если сначала встречается «Весна», текст сначала заменяет все сезоны «Весной», затем «Зимой», «Летом» и «Падением».
Я знаю, что можно было бы сделать это, написав ряд условных операторов, таких как:
if summer
replace summer
replace winter
replace spring
replace fall
else if spring
replace spring
replace winter
replace summer
replace fall
else if winter
replace winter
replace spring
replace summer
replace fall
else if fall
replace fall
replace winter
replace spring
replace summer
Однако, это вряд ли, кажется, что лучший способ сделать это. Я знаю, что в какой-то момент текст должен быть заменен на все сезоны. Я также знаю, что порядок этих сезонов. Единственное, что имеет значение, это первый эпизод сезона, который затем определяет, какой сезон нужно вынимать со своего места, и поставить впереди.
Если бы этот вопрос имел какое-либо значение, я был бы очень признателен за совет. Я не особенно ищу код, а скорее советы о том, как подойти к такому вопросу.
Спасибо, ребята.