需求:給定一個數字列表和一個目標值,找出列表中和為目標值的兩個數:

#!/user/bin env python # author:Simple-Sir # time:20180913 # 給定一個整數數組和一個目標值,找出數組中和為目標值的兩個數。 list1 = [1,2,3,4,5,6,7,8,9] target = 10 num = 0 print('------------ 方法一 --------------------') for id ,value in enumerate(list1): for id1 in range(id , len(list1)-1): # 起始值從id開始 id1 += 1 if list1[id] + list1[id1] == target: num += 1 print('第{0}組:{1},{2}'.format(num, list1[id], list1[id1])) num = 0 print('------------ 方法二 --------------------') for i in list1: for j in reversed(list1): if i == j: break if i+j == target: num += 1 print('第{0}組:{1},{2}'.format(num, i, j)) num = 0 print('------------ 方法三 --------------------') for i in list1: for j in list1: if i+j == target : if i == j : exit() else: num += 1 print('第{0}組:{1},{2}'.format(num,i,j))
執行結果:
知識點:
enumerate(列表):獲取列表中元素的 位置,值
len(列表): 獲取列表的元素個數
reversed(列表):將列表的值反轉
break:退出當前循環
exit():退出整個程序