Информатика, вопрос задал timzya10 , 1 год назад

Программа задаёт вопрос с четырьмя вариантами ответа и запрашивает номер варианта ответа.

Анализ правильности ответа уже запрограммирован. Допиши обработку исключения ввода ответа.

Если пользователь вводит не число, например, «Денали», то программа печатает: «Ошибка! Введите номер правильного ответа», пока не будет получено число.

Приложения:

archery: а где тот кусок кода что уже есть? или шаблон для вписывания?

Ответы на вопрос

Ответил archery
0

# ruby 3.2.2

def ask_question(question, answers, right_answer_index, wrong_answer_comment)

   raise "Ошибка входящих данных" if answers.size < 2 || !right_answer_index.between?(0, answers.size-1) || question.empty?

   right_answer = answers[right_answer_index]

   answers.shuffle!

   right_answer_index = answers.index(right_answer)

   puts question

   while true do

       answers.each_index {|i| print("#{(i.zero? ? "" : ", ")}#{i + 1} - #{answers[i]}")}

       puts

       input = gets().strip.to_i

       return 0 if input == right_answer_index + 1

       if input.between?(1, answers.size)

           puts "Нет. #{wrong_answer_comment}"

           return

       end

       puts "Ошибка! Введите номер правильного ответа"

   end

end

ask_question("Самая высокая гора?", ["Эльбрус", "Говерла", "Эверест", "Денали"], 2, "Эверест, 8848 метров")

Новые вопросы