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

如何实现四位数各位数字求和程序?现有Python代码报错求助

问题分析与代码修正

你的代码存在两个核心问题:

  • 直接对字符串进行拼接而非数值求和:ri[0]+ri[1]+ri[2]+ri[3]会把输入的四个字符直接连起来(比如输入3141会输出3141),而不是将每个字符转为整数后相加。
  • 输出格式不符合需求:没有按照数字+数字+数字+数字=总和的格式展示结果。

修正后的代码如下:

# 读取用户输入
ri = input("please enter four digits: ")
# 验证输入是否为4位数字
if len(ri) == 4 and ri.isnumeric():
    # 将每个字符转为整数,计算总和
    digits = [int(c) for c in ri]
    total = sum(digits)
    # 构造要求的输出格式
    print(f"{digits[0]}+{digits[1]}+{digits[2]}+{digits[3]}={total}")
else:
    print("Error: should be four digits!")

代码说明:

  • 用列表推导式[int(c) for c in ri]把输入的每个字符转为整数,得到各位数字的列表。
  • 用sum()函数直接计算列表中数字的总和,简洁高效。
  • 用f-string格式化输出,完美匹配需求中的数字+数字+数字+数字=总和格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 05:25:46