第5章-10 两数之和 (30分)【Python版本】

 

给定一组整数,还有一个目标数,在给定这组整数中找到两个数字,使其和为目标数,如找到,解是唯一的。找不到则显示 "no answer"。输出的下标按从小到大排序。用一重循环加字典实现。

输入格式:

在一行中给出这组数。 在下一行输入目标数

输出格式:

在一行中输出这两个数的下标,用一个空格分开。

输入样例1:

在这里给出一组输入。例如:

2,7,11,15
9

输出样例1:

在这里给出相应的输出。例如:

0 1

输入样例2:

在这里给出一组输入。例如:

3,6,9
10

输出样例2:

在这里给出相应的输出。例如:

no answer

【Python参考代码】

#By yangbo 2020.08.08
num = list(map(int,input().split(',')))
s = eval(input())
dic ={}
for i in num:#用一重循环加字典实现。
    dic[i] = s - i

for key,value in dic.items():
    if key in num and value in num:
        print(num.index(key),num.index(value))
        break
else:
    print('no answer')
    
#for else 语法:for循环正常结束则执行else后的语句。如果是break的,则不执行。
'''
寻找100以内的素数之和,
sum=0
for n in range(2,100):
    for i in range(2,n):
        if n%i==0:
            break
    else:
        sum+=n
print(sum)
'''

猜你喜欢

转载自blog.csdn.net/qq_38689263/article/details/107886541