У меня есть следующая программа, которая должна учитывать количество лет, в течение которых население должно увеличиваться до нужного размера. Всякий раз, когда я запускаю это, я получаю бесконечный цикл. Может кто-нибудь помочь мне определить мою ошибку?Бесконечные Пока петли в рубине
def pop_growth(start, percent, desired)
year_count = 0
while start <= desired
year_count += 1
start = start + (start * (percent/100))
end
return year_count
end
Предполагая, что аргумент 'percent' является целым числом менее 100,' percent/100' будет равен нулю (целочисленное деление, помните?). Вам нужно 'percent/100.0', чтобы вернуть float, например 0.50. Кстати, учитывая ваш метод расчета, этот вопрос не имеет никакого отношения к 'inject', поэтому вы можете удалить его из заголовка. –
@CarySwoveland, когда я прочитал ваш комментарий, я чувствовал себя обязанным дать ответ на основе 'inject' :) – mudasobwa