問題
警察がネズミ取りをしています。
速度が60以下の場合、出力は0になります。
速度が61以上80以下の場合、出力は1になります。
速度が81以上の場合、出力は2になります。
出力を計算するためのコードを作成し、int値としてエンコードします。
0=チケットなし、1 =小チケット、2 =大チケット。
と出力するメソッドを作りましょう。
アタナの誕生日の日だけ速度制限が5倍大きくなります。
速度は小数点以下も有効ですが、判定の際は小数点一桁で四捨五入して整数にしてください。
自分の回答
def caught_speeding(speed, is_birthday)
if is_birthday == "True"
bonus = 5
else
bonus = 1
end
if speed <= 60 * bonus
puts 0
elsif 60 * bonus < speed && speed <= 80 * bonus
puts 1
else
puts 2
end
end
問題文の通りif文を作れば良いですね。気をつけるところは、誕生日かどうかで分岐条件が変わるところですね。
コードではbonusと言う変数を用意しています。if文の条件のところにbonusをかけてます。誕生日であれば、bonus=5 となり、速度制限が5倍大きくなります。そうでなければbonus=1なので、変化はありません。
(なんか、この問題、問題と答えがあっていない気がします。)