我想制作一个程序,检查您输入的数字是否为偶数。有点像制作闰年计划,但任何可被2整除的数字。 有点像:
num = gets.chomp
while num != 0
if (num%2) == 0
puts 'yess'
else
puts 'nooo'
end
end
我知道我需要更改它才能运行。 (顺便说一句,我昨天刚开始学习Ruby!)
答案 0 :(得分:2)
这里有两个问题。
首先是别人放的东西,你需要确保在num变量上使用“.to_i”将输入转换为整数。
其次,由于您使用的是“while”循环,因此此代码会使您进入无限循环。 由于数字只输入一次,无论输入是什么,你都会永远陷入“while”循环。基本上,“num”永远不会停止不 0。
你最好使用if..else语句。类似的东西:
num = gets.chomp.to_i
if num != 0
if (num%2) == 0
puts 'yess'
else
puts 'nooo'
end
else
puts "that's 0, dude"
end
答案 1 :(得分:0)
整数有两种方法。它们是even?
和odd?
。
您可以在if语句中使用它:
if num.even?
puts 'yess'
else
puts 'nooo'
end
但是,更简单的方法是使用三元表达式:
puts num.even? ? "yes" : "no"
但是,请确保num
是整数。来自gets
的任何内容都将是一个字符串。所以,你应该做num = gets.chomp.to_i
。任何不是数字的内容(例如"h"
)都会返回0
。
"5".to_i #=> 5
"h".to_i #=> 0