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

如何实现计算名字字母数值总和的get_numeric_value函数?

问题分析

你写的get_numeric_value函数只返回第一个字符的数值,核心原因是循环内部的return语句直接终止了函数——遍历到第一个字符时就立刻返回它的数值,后续字符根本没机会处理。另外return numerals放在循环内部也是错误的,会提前结束函数,连求和的代码都执行不到。

修复方案

既然已经有现成的to_numerical函数,直接调用它简化代码即可。核心思路是遍历所有字符,收集每个字符的数值后求和返回。

修正后的基础版代码

def get_numeric_value(string):
    numerals = []
    for character in string:
        # 调用已实现的to_numerical函数,把字符数值存入列表
        numerals.append(to_numerical(character))
    # 遍历完成后对列表求和并返回
    return sum(numerals)

更简洁的写法(生成器表达式)

如果想让代码更紧凑,可以直接用生成器表达式求和,省去列表创建的步骤:

def get_numeric_value(string):
    return sum(to_numerical(char) for char in string)
测试验证

用示例Zelle测试:
Z对应26,e对应5,l对应12,最终总和为26+5+12+12+5=60,和预期结果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 11:45:37