Ruby, что не так с кодом? и что на счет лаконичности и правильности
Изучаю Ruby. Решил написать консольную программку "Компьютер выбирает рандомное число, а пользователь должен его угадать с трёх попыток." Но программа работает не верно, Ограничение по попыткам не работает. То ли не плюсует, то ли что. Т.к больше трех попыток, а в выигрыше вывод что угадал с 1 попытки.
puts "Приветствуем вас. Компьютер загадал число от 1 до 7, попробуйте его угадать с 3-ёх попыток."
chislo_komp = rand(7)
chislo_user = nil
popitka = 0
while chislo_user != chislo_komp
puts "Введите число: "
chislo_user = gets.chomp.to_i
if chislo_user != chislo_komp && popitka <=3
puts "Введите число: "
chislo_user = gets.chomp.to_i
popitka = popitka+1
elsif chislo_user == chislo_komp
puts "Урааа, вы выиграли!"
puts "Вы угадали число с " + popitka.to_s + " раза."
elsif popitka > 3
puts "Сожалеем, но ваши попытки исчерпаны. Вы проиграли."
end
end
Источник: Stack Overflow на русском