我要解决的问题是获取集合S,其中包含X个整数可能的所有排列,这些整数都大于0且相加等于Y。
因此,如果X等于2,Y等于5,可以使用以下列表理解来解决问题:
[(a,b) for a in range(1,5) for b in range(1,5) if a+b==5]
然而,我正在尝试解决任意X和任意Y的问题。我可以将其写成一系列巨大的if语句,但我觉得我离一个漂亮、干净的列表理解还很近。有没有办法用列表理解来处理它呢?
我要解决的问题是获取集合S,其中包含X个整数可能的所有排列,这些整数都大于0且相加等于Y。
因此,如果X等于2,Y等于5,可以使用以下列表理解来解决问题:
[(a,b) for a in range(1,5) for b in range(1,5) if a+b==5]
然而,我正在尝试解决任意X和任意Y的问题。我可以将其写成一系列巨大的if语句,但我觉得我离一个漂亮、干净的列表理解还很近。有没有办法用列表理解来处理它呢?