0. Начало 1. Ввод - Гвозди, картина молоток, стена 2. Операция - Прибить гвоздь к стене при молотка 3. Условие - Гвоздь прибит к стене? Нет->Повторить пункт 2; Да->Переходим к пункту 4 4. Повесить картину на гвоздь 5. Конец
Ну это если не заморачиваться с условиями. К примеру можно после 4 пункта поставить условие на проверку положения картины, т.е Картина висит прямо? ->Нет то Действие выровнять положение картины; Да->Конец
UPD: Ещё можно создать условие на состояние гвоздя - погнутый или целый, вытаскивание погнутого гвоздя и т.д.
Если быть совершенно точным, то условные операторы switch-case.
Отличаются от if тем, что if проверяет некое условие (ЛЮБОЕ условие), а блок switch-case сначала задает значение - switch (значение), а потом сравнивает его с условиями в case.
Следовательно, к примеру:
if (n == 5) ... if (n == 2) ... if (n == -3) ...
будет эквивалентно
switch (n) { case 5: ... break; case 2: ... break; case -3: ... break; }
Учтите, что в switch-case ожидается использование break. Если не поставить break, case, который ниже текущего, тоже будет выполнен.
words = None
while not words:
words = input("2 слова: ").split()[:2]
# a
print(words[0])
# b
if len(words) == 2:
print(words[1])