Задать вопрос
@YuriySavchuk
QC Tester

Циклы в Python. Как вернуться на определённую строку в коде?

Подскажите пожалуйста! Как сделать так чтобы после не верного ответа на второй вопрос, и последующем выборе варианта "да" - "НЕ ПРАВИЛЬНО хотите попробовать еще раз? да/нет"
возвращаться к этому же вопросу, а не начинать сначала, с первого вопроса

list = ["а", "б", "в", "г"]
cycle = True
while cycle:

question1 = input("Кто из этих персонажей не дружит с Гарри Поттером? а) Рон Уизли б) Невилл Лонгботтом в) Драко Малфой г) Гермиона Грейнджер: ")
if question1 == list[2]:
print('Молодец Правильно!!! Следующий вопрос: =>>')
pass
elif question1 != list[2]:
vopros = input('НЕ ПРАВИЛЬНО хотите попробовать еще раз? да/нет ')
if vopros == 'да':
continue

question2 = input("Какое животное не фигурирует в китайском зодиаке? а) Дракон б) Кролик в) Собака г) Колибри: ")
if question2 == list[0]:
print('Молодец Правильно!!! Следующий вопрос: =>>')
pass
elif question2 != list[0]:
vopros = input('НЕ ПРАВИЛЬНО хотите попробовать еще раз? да/нет ')
if vopros == 'да':
continue
  • Вопрос задан
  • 756 просмотров
Подписаться 2 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Хекслет
    Python-разработчик
    10 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
  • Stepik
    Программа курсов: Бэкенд-разработка на Python
    1 месяц
    Далее
  • Merion Academy
    Python программист с нуля
    4 месяца
    Далее
  • Skypro
    Python-разработчик с нуля
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@ceytnot
Работаю не по специальности (:
Ну навскидку можно сделать как-то так:
questions = {1: ("Кто из этих персонажей не дружит с Гарри Поттером? а) Рон Уизли б) Невилл Лонгботтом в) Драко Малфой г) Гермиона Грейнджер: ", "в"),
            2: ("Какое животное не фигурирует в китайском зодиаке? а) Дракон б) Кролик в) Собака г) Колибри: ", "а")}

question_number = 1   

while question_number in questions:
    answer = input(questions[question_number][0])
    if answer == questions[question_number][1]:
        question_number += 1
        print('Молодец Правильно!!! Следующий вопрос: =>>')
    else:
        answer = input('НЕПРАВИЛЬНО! Хотите попробовать еще раз? да/нет ')
        if answer != "да":
            print("Игра окончена!")
            break
        else:
            pass
print("Вопросы кончились")
Ответ написан
Комментировать
Vindicar
@Vindicar
RTFM!
Вложенные циклы. По одному циклу для каждого вопроса, один - общий для перепрохождения теста (если надо).
Когда напишешь, попробуй:
1. Описать вопрос в виде структуры данных
2. Оформить прохождение одного вопроса в виде подпрограммы
3. Записать тест как список структур-вопросов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы