初识python: for循环之“两数之和”
需求:给定一个数字列表和一个目标值,找出列表中和为目标值的两个数:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#!/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():退出整个程序
世风之狡诈多端,到底忠厚人颠扑不破;
末俗以繁华相尚,终觉冷淡处趣味弥长。
posted on 2018-09-13 23:17 Simple-Sir 阅读(1851) 评论(1) 编辑 收藏 举报