Телеграм чат начинающих программистов. Общаемся и помогаем друг другу
Если ссылка не открывается, можно найти нас в поиске по чатам @rubyrush
или
пойти другим путем
Напишите простенький калькулятор, который умееет делать операции с двумя целыми (и только целыми) числами: сложение, вычитание, умножение, деление.
Числа и операцию он по очереди спрашивает у пользователя.
Первое число:
50
Второе число:
10
Выберите операцию (+ - * /):
*
Результат:
500
Добавьте в этот калькулятор обработку ошибок при попытке деления на ноль:
Первое число:
50
Второе число:
0
Выберите операцию (+ - * /):
/
Результат:
На ноль делить нельзя
Спросите у пользователя два числа и сохраните их в разные переменные. Для перевода введённых пользователем символов в целые числа используйте метод строки to_i
.
number = gets.chomp.to_i
Спросите у пользователя операцию и сохраните результат в переменную, потом с помощью конструкции case выберите в зависимости от операции, какой результат вывести пользователю. Не забудье про вариант, когда пользователь в качестве операции указал что-то неподходящее, в вашем case должен быть else
с адекватной реакцией.
Наконец, обработайте ошибку ZeroDivisionError
при делении с помощью конструкции begin-rescue
, как мы это делали на уроке.
Обратите внимание, что если вы хотите в методе puts
выводить сразу результат перемножения (или любой другой операции) нескольких переменных, то их нужно сгруппировать в круглые скобки и метод to_s
применить у всего этого выражения целиком.
Неправильно!
puts a1 * a2.to_s
puts a1.to_s + a2.to_s
Правильно:
puts (a1 + a2).to_s # тогда в строку преобразуется результат сложения a1 и a2