You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修正Python代码以生成和为指定整数N的所有整数元组对?

问题分析

你的代码核心问题是每次循环都用单个元组覆盖了pairs变量,所以最后只会保留最后一次循环生成的元组,没有把所有符合条件的整数对收集起来。另外,单独维护m和l两个列表属于冗余操作,可以直接在循环里生成目标元组。

修正方案1:用列表收集所有元组

初始化一个空列表,每次循环把生成的元组添加进去:

degree = 9
pairs = []
for i in range(degree):
    # 直接生成(degree - i, i)的元组并添加到列表
    pairs.append( (degree - i, i) )
# 若需要输出成目标格式,可转换后打印
print( ','.join(map(str, pairs)) )

运行结果:

(9, 0),(8, 1),(7, 2),(6, 3),(5, 4),(4, 5),(3, 6),(2, 7),(1, 8)

修正方案2:用列表推导式简化代码

用Python列表推导式一行生成所有元组,更简洁:

degree = 9
pairs = [ (degree - i, i) for i in range(degree) ]
# 转换为目标格式输出
print( ','.join(map(str, pairs)) )

额外说明

  • range(0, degree)可简化为range(degree),因为range默认从0开始
  • 无需单独创建m和l列表,直接通过degree - i和i就能得到每一对的两个数,减少不必要的内存占用

内容的提问来源于stack exchange,提问作者feration48

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 15:40:28