每周帮我的一位关系密切的朋友写写pta发现自己的python实在 实在才疏学浅。
这一题是这样的,我看网上的答案也没人按要求真正用字典呀。
大白话描述一下:
你先把数据输进来,split分开,利用map把每个元素int一下,再用list整成列表,用nums接收。
然后按要求整个字典:
不是要方便检索嘛 干脆把你的数据的值作为key,把原来的位置作为value。这样作差时直接可以一带 一路把位置拿出来了。
下面这个for循环就是一个一个看嘛,看看拿这个值作差行不行,行就输出然后退出。对,直接退出,break也行。因为我感觉PTA第三个点实际上不止一个答案。
nums= list(map(int, input().split(',')))
n= int(input())
dic= {}
for i in range(len(nums)):
dic[nums[i]]= i # 字典是这样的:key=值 value=原list里的位置;方便通过值检索
for i in range(len(nums)):
if dic.get(n-nums[i])!=None:
print(i, dic.get(n-nums[i])) # 返回位置
exit()
print("no answer")