0 が含まれていないか判定

長さ N の数列Aが与えられます。Aの中に 0 が含まれていない場合はYESを、 0 が含まれている場合はNOを出力してください。

 

#入力

N
A_1
A_2
...
A_N

 


入力値最終行の末尾に改行が1つ入ります。@ 

 

 

#出力

YESまたはNOを出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。

YES


または

NO

 

 

#コード

a = int(input())
msg = "YES"

for _ in range(a):
    if 0 == int(input()):
        msg = "NO"

print(msg)

 

 

#参考

n = int(input())
a = [int(x) for x in input().split()]

flag = True
for ele in a:
    if ele == 0:
        flag = False
        break

if flag:
    print("YES")
else:
    print("NO")

  • 方針の 1 に沿って作成しました。
  • ブール値 (True か False) を保持する変数 flag を初期値 True で用意して、0 が含まれていない場合は True を、含んでいる場合は False を格納するようにします。
  • for 文で各要素が 0 と等しいかを判定して、等しかったとき flag を False にします。
  • if 文の条件式の部分はブール値を置くことで条件分岐できるので、if flag: のように書きます。

解答例 2

n = int(input())
a = [int(input()) for _ in range(n)]

x = 1
for ele in a:
    x *= ele

if x == 0:
    print("NO")
else:
    print("YES")

  • 全ての要素を掛け算した値が 0 であるかどうかを確認して 0 であったら "NO" を、そうでないなら "YES" を出力するようにします。
  • また、条件式の部分は前問の解答例 2 のように if x: としても解くことができます。この際、x の値が 0 のとき、False として処理されるので、注意してください。

解答例 3

n = int(input())
a = [int(input()) for x in range(n)]

if 0 in a:
    print("NO")
else:
    print("YES")

  • Python には、「含まれているか」を判定する in 演算子があります。
  • 確認したい値 in リスト とすれば、確認したい値 が リスト に含まれているかを確認できます。
  • in 演算子は文字列や辞書などに対しても使えます。