python学习之——元组中两数相加之和等于某数

#题目:数组中找出两个元素之和 等于给定的整数

# 思路:
# 1、将数组元素排序;
# 2、array[i]与a[j](j的取值:i+1到len_array-1) 相加;
# 3、如两两相加<整数继续,如=整数则输出元素值;
# 4、如>则直接退出,i+1 开始下一轮相加比较

def addData(array, sumdata):
   
    temp_array = array
    temp_sumdata = sumdata
    print "sumdata: %d" %temp_sumdata

# 如array中没有负数,则可以先将 >sumdata 的数删掉
# 为了避免长度变化问题,可将<sumdata的数赋值给另一array
#    temp_array = []
#    len_temp_array2 = len(temp_array2)
#    for i in range(0,len_temp_array2):
#        if temp_array2[i] < temp_sumdata:
#            temp_array.append(temp_array2[i])
      
    sorted(temp_array)
    
    len_temp_array = len(temp_array)

# 计数符合条件的组数
    num = 0
    
    for i in range(0, len_temp_array-1):
        for j in range(i+1, len_temp_array):
            if temp_array[i] + temp_array[j] < temp_sumdata:
                continue
            elif temp_array[i] + temp_array[j] == temp_sumdata:
                num += 1
                print "Group %d :" % num
                print "下标:%d, 元素值: %d" %(i, temp_array[i])
                print "下标:%d, 元素值: %d" %(j, temp_array[j])
            else:
                break
    
if __name__=="__main__":
    test_array = [-1,1,2,3,4,5,6,7,8]
    test_sumdata = 6
    addData(test_array, test_sumdata)