2つのN次元ベクトル A, B が与えられたとき、この内積が0かどうかを判定する問題です。
提出
n = int(input())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
num = 0
for i in range(n):
num += a[i]*b[i]
if num == 0:
print("Yes")
else:
print("No")
問題文にある通り、内積は、「A1B1 + A2B2 + A3B3 + … + ANBN」で求まるため、これを愚直に計算して、0かどうか判定します。
for文とif文を組み合わせて1行で書くこともできます。
提出
n = int(input())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
print("Yes" if sum([ai*bi for ai,bi in zip(a,b)]) == 0 else "No")
zip()は、複数のリストなどの要素を同時に取得する関数です。
week = ["SUN", "MON", "TUE", "WED"]
day = [24, 25, 26, 27]
for a, b in zip(week, day):
print(a, b)
# > SUN 24
# > MON 25
# > TUE 26
# > WED 27