AND+OR
3 つの整数X, Y, Zが与えられます。「Xが 10 以上」かつ「Yが 10 以上」の場合はYES
を、そうではない場合はNO
を出力してください。
ただし、「Zが 10 以上の」場合はXとYの値にかかわらず、必ずYES
を出力してください。
#入力
X Y Z
#出力
YES
またはNO
を出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。
YES
または
NO
#コード
x,y,z = [int(x) for x in input().split()]
if (x >= 10 and y >= 10) or z >= 10:
print("YES")
else:
print("NO")
#参考
解答例 1
x, y, z = [int(x) for x in input().split()]
if z >= 10 or x >= 10 and y >= 10:
print("YES")
else:
print("NO")
- 問題文の条件は「
z
が 10 以上 またはx
が 10 以上 かつy
が 10 以上」 と言い換えることができるので、上記のようなコードを書くことができます。 or
演算よりもand
演算が優先されるという特徴に注意して下さい。
解答例 2
x, y, z = [int(x) for x in input().split()]
if z >= 10:
print("YES")
elif x >= 10 and y >= 10:
print("YES")
else:
print("NO")
or
演算子を使わない方法です。z
が 10 以上のときは、x
,y
の値にかかわらず"YES"
を出力するので、まず「z
が 10 以上か」の条件に通します。- 上の条件を満たさなかったときは
x
,y
についての条件に通します。 - 上の条件全てを満たさなかった場合、
"NO"
を出力します。