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

Python实现无列表提取字符串数字并统计数量、求和及平均值的函数需求

Python函数:提取字符串数字并统计(无列表实现)

嘿,这就给你搞定这个需求!咱们要写一个不依赖列表的Python函数,从用户输入的字符串(包含a-z字母和最多8位数字)里提取数字,还得统计个数、总和和平均值。直接上代码:

def process_string(input_str):
    digit_count = 0
    digit_total = 0
    
    # 遍历字符串的每个字符
    for char in input_str:
        if char.isdigit():
            # 转换为整数并更新统计值
            num = int(char)
            digit_count += 1
            digit_total += num
    
    # 计算平均值,处理无数字的情况
    if digit_count == 0:
        return (0, 0, None)
    digit_average = digit_total / digit_count
    return (digit_count, digit_total, digit_average)

# 调用函数并处理用户输入
if __name__ == "__main__":
    user_input = input("请输入包含字母和数字的字符串:")
    count, total, avg = process_string(user_input)
    
    if count > 0:
        print(f"提取到的数字个数:{count}")
        print(f"数字总和:{total}")
        print(f"数字平均值:{avg:.2f}")
    else:
        print("输入的字符串里没有数字哦!")

代码细节说明:

  • 核心逻辑:完全不用列表,靠两个变量digit_count和digit_total分别跟踪数字的数量和总和。遍历每个字符时用isdigit()判断是否为数字,是的话就转成整数更新统计值。
  • 边界处理:特意考虑了输入无数字的情况,返回None作为平均值,避免触发除以0的错误,调用时会给出友好提示。
  • 输出优化:平均值保留两位小数,让结果更直观易读。

测试示例:

如果输入hello123world45,输出会是:

提取到的数字个数:5
数字总和:15
数字平均值:3.00

如果输入onlyletters,则输出:

输入的字符串里没有数字哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:29:34