问题
问题描述
有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)
输入格式
第一行包含一个正整数 N。(1 ≤ N ≤ 500)。
第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。
输出格式
只输出一个整数,即这 N 个数中包含多少对相反数。
样例输入
5
1 2 3 -1 -2
样例输出
2
Python 代码
def main():
n = int(input("请输入整数数量:"))
numbers = [int(i) for i in input("请输出N 个用单个空格隔开的非零整数:").split()]
if n != len(numbers):
print("输入的整数个数与n不相等")
return "输入的整数个数与n不相等"
else:
number = 0
temp = [] # 将记录出现具有相反数的记入temp
for i in numbers:
if (-i in numbers) and (-i not in temp):
temp.append(i)
number += 1
print(number)
return number
if __name__ == '__main__':
main()