if語句我很新的節目,我嘗試使用測試多個條件中的if語句,看看輸入的號碼5,10,或15。如果沒有的話它會輸出一條錯誤消息。不管輸入什麼號碼,它總是輸出錯誤信息。使用多個條件在紅寶石
when 3
print("Enter the discount percentage, must be (5, 10, or 15)")
dis= gets.to_i
if (dis != 5 || dis != 10 || dis != 15)
puts("You entered an invalid discount")
else
end
正確的方法來獲取從字符串的開頭的整數是['to_i'](http://ruby-doc.org/core /String.html#method-i-to_i),而不是'_i'。 –
'p || q'與'!(!p &&!q)'(來自德摩根定律)相同。所以你的表達和'!(dis == 5 && dis == 10 && dis == 15)'是一樣的。括號中的表達式顯然對'dis'的任何值都是'false',所以'!(false)#=> true',不管'dis'的值如何,都會執行puts。 –
爲什麼急於選擇答案? –