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

Python for range循环输出多组结果时如何仅打印指定单组结果

代码修改方案

我们不需要改动原有的匹配逻辑,只需要新增一个列表存储所有匹配到的(root,pwr)对,再按需求排序筛选即可:

通用收集匹配对的基础代码

先把所有匹配结果存下来,后续根据不同需求做筛选:

x = 64
root = 0
results = []  # 新增列表存储所有匹配对

for pwr in range(2,6):
    if x > 1:
        while root <= x:
            root += 1
            if root**pwr == x:            
                results.append( (root, pwr) )  # 不直接打印,先存到列表
        root = 0
    elif x < 0:
        while root >= x:
            root -= 1
            if root**pwr == x:            
                results.append( (root, pwr) )
        root = 0
    elif x == 0:
        print('There is no such pair')
        break

需求1:仅输出root值最大的配对

在上述基础代码末尾添加以下内容:

if results:
    # 按root值降序排序,取第一个元素
    max_root_pair = sorted(results, key=lambda item: item[0], reverse=True)[0]
    print(f'root = {max_root_pair[0]} and pwr = {max_root_pair[1]}')
else:
    print('There is no such pair')

运行输出:root = 8 and pwr = 2

需求2:仅输出pwr值最大的配对

在基础代码末尾添加以下内容:

if results:
    # 按pwr值降序排序,取第一个元素
    max_pwr_pair = sorted(results, key=lambda item: item[1], reverse=True)[0]
    print(f'root = {max_pwr_pair[0]} and pwr = {max_pwr_pair[1]}')
else:
    print('There is no such pair')

运行输出:root = 4 and pwr = 3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 16:45:05