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

如何用Python编写规避sum等受限函数的整数求和代码?

解决方法

你原来的代码里,最后调用recursive_s(numbers)是多余的(因为numbers已经是整数列表了),而且用了被禁止的sum()函数。我们可以用递归求和的方式替代sum(),完全符合要求:

完整代码

def str_to_int_list(str_list):
    if not str_list:
        return []
    return [int(str_list[0])] + str_to_int_list(str_list[1:])

def recursive_sum(num_list):
    # 递归求和:空列表的和为0,非空则取第一个元素加剩余列表的和
    if not num_list:
        return 0
    return num_list[0] + recursive_sum(num_list[1:])

if __name__ == "__main__":
    input_str = input().strip()
    # 分割输入字符串为单个数字字符串的列表
    num_strings = input_str.split()
    # 转成整数列表
    numbers = str_to_int_list(num_strings)
    # 递归计算总和并输出
    print(recursive_sum(numbers))

代码说明

  1. str_to_int_list:用递归把输入的字符串列表转成整数列表,和你原来的recursive_s逻辑一致,只是名字更清晰。
  2. recursive_sum:核心的求和函数,完全依赖递归实现:
    • 当输入的整数列表为空时,返回0(递归终止条件)
    • 非空时,返回列表第一个元素加上剩余列表的递归求和结果,逐步累加所有元素。
  3. 整个过程没有使用任何被禁止的函数或循环,完全符合题目要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 20:33:20