1

我是学习 ruby​​ 的新手,我想知道为什么当我输入 150 时它并没有说你的完美。这是我正在处理的代码。

 def prompt     
   print ">> " 
 end  

 puts "welcome to the weight-calc 3000! Enter you weight below!"  

 prompt; weight = Integer(gets.chomp())  

 if weight > 100 && weight < 300     
   puts "your healthy!" 
 elsif weight > 300     
   puts "your fat" 
 elsif weight < 100  
   puts "your skinny"  
 elsif weight == 150     
   puts "your perfect" 
 end  
4

2 回答 2

7

条件if weight > 100 && weight < 300truevalue 150,所以最后一个elsif甚至没有输入。

您应该weight == 150在一般条件 ( ) 之前放置更具体的条件 ( weight > 100 && weight < 300)。

于 2012-09-10T18:57:15.257 回答
2

看看你的第一个条件:

if weight > 100 && weight < 300

什么时候weight150,它是> 100并且< 300,所以第一个条件为真。

移动if weight == 150到链的顶部。

于 2012-09-10T18:57:05.473 回答