0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

if,else問題(演算子)

Last updated at Posted at 2022-11-22

police_troubleメソッドを実装。

あなたは警官です。
aとb二人の容疑者の取り調べをしています。このとき、次のルールで証言の真偽判定を行います。
※問題文で登場したaとb二人の容疑者は、今回実装するpolice_troubleメソッドの引数として取り扱っていきます。

  • 第一引数aと第二引数bどちらの証言も真(true)であれば、Trueを出力すること
  • 第一引数aと第二引数bどちらの証言も偽(false)であれば、Trueを出力すること
  • 第一引数aと第二引数bで証言の真偽が一致しない場合であれば、Falseを出力すること
雛形
def police_trouble(a, b)
  # ここに条件式を記述する
end

# 呼び出し例
police_trouble(true, true) 
police_trouble(false, false)
police_trouble(true, false)

出力例
police_trouble(true, true)  True
police_trouble(false, false)  True
police_trouble(true, false)  False

論理演算子とは

真(true)と偽(false)の確認や演算を行うときに使われる演算子(記号・符号)のこと。
ifなどの要件分岐を実装するとき、条件式に複数の条件を組み合わせるために用いられる。

複数の条件を組み合わせた条件式

論理演算子  && ,  || ,  ! を使う。

# aもbもtrueの場合にtrue 
a && b

# aかbのどちらかがtrueの場合にtrue
a || b 

# aがtrueの場合にfalse、aがfalseの場合にtrue
!a
回答
def police_trouble(a, b)
  if (a && b) || (!a && !b)
    puts "True"
  else
    puts "False"
  end
end

# 呼び出し例
police_trouble(true, true) 
police_trouble(false, false)
police_trouble(true, false) 

2行目の説明

(a && b)
aとbの証言がどちらもtrue

||   
または

(!a && !b)
aとbの証言がどちらもfalse

この場合、
"true" を出力する。

それ以外、つまり(a && b) || (!a && !b)に当てはまらないのであれば、"false" を出力する。

0
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?