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

Python如何获取字符在字符串的位置值以完成名字数值计算

字符位置查询方法

Python中查询字符在字符串/列表中的位置可以使用以下方法:

  • 字符串查询:使用str.find(目标字符)或str.index(目标字符)
    • find()匹配失败时返回-1,不会终止程序
    • index()匹配失败时抛出ValueError异常
  • 列表查询:使用list.index(目标元素),匹配失败时抛出ValueError异常

作业代码实现

你原本的思路是完全正确的,find()就是符合字符串知识点要求的对应方法,现有代码只需要修复几个小问题即可实现需求:

  1. 缩进错误:for循环写到了main()函数外部,无法访问函数内定义的变量
  2. 未处理大小写:用户输入小写字母时无法匹配大写的参考字符串,会返回-1导致计算错误
  3. 缺少累加逻辑:没有定义变量存储累加和

修正后代码

def main():
    nameString = input("Enter your name to find its numeric value: ")
    # 将输入统一转为大写,兼容小写输入
    name_upper = nameString.upper()
    letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    # 初始化累加总和
    total = 0
    # 遍历输入名字的每个字符
    for char in name_upper:
        # 拿到字符在参考字符串的下标,加1得到对应数值
        char_value = letters.find(char) + 1
        total += char_value
    print(f"名字对应的数字值为:{total}")

main()

运行示例

输入Zelle时,输出结果为名字对应的数字值为:60,与作业示例要求一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:54:02