解决python小题目,list与for循环

python列表中,两数之和

问题:‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬

一个整数列表 `s` 和一个目标值 `t`,在该数组中找出和为目标值的那两个整数,
并返回他们的列表索引。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬每种输入只需要对应一个答案。
不能重复使用这个数组中同样位置的元素且第一元素的索引最小。
‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬如果没找到解,输出“F”。

解决:

#数据输入(格式为整数,以空格隔开)

var1 = input()

#输入确定的目标值

t = int(input())

#将输入数据以空格分开放入整数列表

s=[int(n) for n in var1.split()]

#k相当于一个标志,控制输出结果

k=0

if len(s)<2:

#排除没有结果的列表

  print("F")

else:

#利用下标双循环遍历

   for i in range(len(s)):

    for j in range(i+1,len(s)):

      if s[j]+s[i] == t:

      #如果找到满足条件的情况,更改标志位,退出内循环

      k=j

      break

    if k!=0:

    #标志位更改则确定找到了解输出并退出外层循环

    print(i,k)

    break

  if(k==0):

    #标志位没变则表示无解

     print("F")

posted on 2021-10-14 22:31  ……青春我们不散场……  阅读(96)  评论(0)    收藏  举报