基本高/低程序Ruby输入请求

  • 本文关键字:Ruby 请求 程序 ruby
  • 更新时间 :
  • 英文 :


我一直在努力弄清楚如何让用户只能在这个简单的高/低猜测游戏中输入1到100之间的正整数。我希望除了1到100之间的整数之外的任何东西都能告诉用户他们不能对所有输入都这样做。有什么简单的方法吗?

我现在的情况:

count=0
play = true
while play == true
print "Give me a random number between 1 and 100: "
    max= gets.to_i
    num= rand(max)
puts "Now guess between 1 and " + max.to_s + 
"."
print "What is your guess?: "
    guess=gets.to_i
    while guess != num && play != false 
        if guess > num
         print "Too high! "
            guess=gets.to_i
            count+=1
    elsif guess < num
        print "Too low! "
            guess=gets.to_i
             count+=1
        else
            break
        end
end
puts "Good Job! You figured it out in " + count.to_s + " attempts!"
print "Want to try again? y/n "
answer=gets.chomp!
    if answer  == 'n'
        play = false
        break
    end
if 
    answer == 'y'
    play = true
end 

end
puts "Maybe next time..."

最简单的方法是使用正则表达式和范围。

guess = gets.chomp
if(guess =~ /Ad+Z/ && (1..100) === guess.to_i)
  #do stuff
else
  puts "Please enter a valid number"
end

正则表达式确保我们得到一个只由数字组成的输入(一个整数),并且range检查它是否在1到100之间。

if (1..100).include?(guess) && 0 == guess % 1
  # ...
end

最新更新