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

Python从字符串中提取连续数字并计算总和与平均值的实现方法

Python实现提取连续数字并计算总和与平均值

推荐用正则模块实现,代码最简洁:

正则实现代码

import re

input_str = input()
# 提取所有连续数字并转为整数
num_list = list(map(int, re.findall(r'\d+', input_str)))
sum_val = sum(num_list)
avg_val = sum_val / len(num_list)
print(sum_val)
print(f"{avg_val:.2f}")

代码说明

  • re.findall(r'\d+', input_str):\d+是正则匹配规则,代表匹配1个及以上连续的阿拉伯数字,会自动跳过所有非数字字符,返回所有匹配到的数字字符串列表
  • map(int, ...):将匹配到的字符串格式的数字批量转为整数,方便数值计算
  • f-string的.2f格式化规则会自动将平均值四舍五入保留两位小数,符合输出要求

如果你不想用正则模块,也可以用手动遍历字符的方式实现:

input_str = input()
num_list = []
current = ''
for char in input_str:
    if char.isdigit():
        current += char
    else:
        if current:
            num_list.append(int(current))
            current = ''
# 处理字符串末尾可能存在的未收尾数字
if current:
    num_list.append(int(current))

sum_val = sum(num_list)
avg_val = sum_val / len(num_list)
print(sum_val)
print(f"{avg_val:.2f}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 05:54:02