列表N存储数据,m为最大和 n=input().split() N=[] for i in n: N.append(int(i)) m=int(input()) Sum=0 #1.分析有三层循环,且每层循环是从上层循环后面一个数开始取值,遍历所有组合; #2.注意边界,第一层循环只需要取到倒数第三个值,第二层循环取到倒数第二个,第三层循环取倒数第一个值 #当三个想加和小于m,则与sum比较,较大的存到sum中 for i in range(0,len(N)-2): for j in range(i+1,len(N)-1): for k in range(j+1,len(N)): if N[i]+N[j]+N[k]<=m: Sum=max(Sum,N[i]+N[j]+N[k]) print(Sum)