@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
  • Вопрос задан
  • 394 просмотра
Пригласить эксперта
Ответы на вопрос 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. Записать тест как список структур-вопросов.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
02 июн. 2024, в 09:22
5000 руб./за проект
02 июн. 2024, в 01:13
2000 руб./за проект
01 июн. 2024, в 23:49
50000 руб./за проект