对编程世界非常陌生,刚刚开始学习,通过Flatiron School的预备工作,并且由于某种原因无法理解“if”和“else”语句。这个问题与Chris Pine'聋奶奶'的问题类似,但没有说“BYE!”三次。
〜该方法应该包含一个包含一个短语的字符串参数,并检查该短语是否全部用大写写成:如果不是,那么祖母听不到你的声音。她应该回复(返回)HUH?!说起来,SONNY!。
〜但是,如果你对她大喊大叫(即用一个包含全部大写的短语的字符串参数调用方法,那么她可以听到你(或者至少她认为她可以)并且应该回复(返回)不,不是从1938年开始!
我到目前为止:
def speak_to_grandma
puts "Hi Nana, how are you?".upcase
if false
puts "HUH?! SPEAK UP, SONNY!"
else
puts "NO, NOT SINCE 1938!"
end
end
但是我的参数数量错误了...在使用if / else语句时我应该如何添加参数?这可能是一个非常简单和基本的问题,但似乎无法理解这一点(可能过度思考) 任何帮助和清晰度将不胜感激。
答案 0 :(得分:0)
input_phrase = "Hi Nana, how are you?"
def speak_to_grandma(phrase)
# Check if string equals same phrase all upper case letters, which means string is all uppercase
if phrase == phrase.upcase
# return this string if condition is true
puts "NO, NOT SINCE 1938!"
else
# return this string if condition is false
puts "HUH?! SPEAK UP, SONNY!"
end
end
# execute function passing input_phrase variable as argument
speak_to_grandma(input_phrase)
在使用if / else语句时我应该如何添加参数? 这可能是一个非常简单和基本的问题,但似乎无法得到 我的头脑(可能是过度思考)。
你的错误是该函数不接受任何参数,在这里它接受"短语"变量作为参数并处理它:
def speak_to_grandma(phrase)
你有
if false
但没有检查究竟是什么错误。用" false"重写我的版本。 :
input_phrase = "Hi Nana, how are you?"
def speak_to_grandma(phrase)
# Check if it is false that string is all upper case
if (phrase == phrase.upcase) == false
# return this string if condition is false
puts "HUH?! SPEAK UP, SONNY!"
else
# return this string if condition is true
puts "NO, NOT SINCE 1938!"
end
end
speak_to_grandma(input_phrase)
我正在评估
if (phrase == phrase.upcase) == false
基本上意味着"如果表达式短语等于短语全部大写是假的"