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

如何在Python中自动统计函数输出的字符数?

问题分析与解决

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

  • 函数func仅用print输出内容,没有返回值,导致test变量实际为None,无法统计字符数
  • Python没有内置的count()函数用于统计字符串长度,正确统计字符数的方法是使用len()
  • 参数传递不符合预期:函数定义为func(word, add=5, freq=1),你传入func("lowercase", num)时,num=10会被赋值给add参数,最终重复次数是freq+add=1+10=11,和你想要的10次不符

修正后的代码

如果要实现"lowercase"重复10次并统计字符数,代码可以这样写:

num = 10
def func(word, freq=1):
    # 返回拼接后的字符串,而非直接打印
    return word * freq

# 获取拼接后的字符串
test = func("lowercase", num)
print(test, num)
# 统计字符数并输出
print(len(test))  # 输出90,符合预期

如果需要保留原函数的add参数,需明确指定参数避免错位:

num = 10
def func(word, add=5, freq=1):
    return word * (freq + add)

# 明确指定freq参数,若要总重复次数为10,可设置add=0
test = func("lowercase", add=0, freq=num)
print(len(test))  # 输出90

关键说明

  • 将函数内的print改为return,才能获取到拼接后的字符串用于统计
  • len()是Python内置的字符串长度统计函数,这是你需要用的工具
  • 传递参数时,若默认参数顺序不符合需求,用关键字参数(如freq=num)明确指定,避免参数错位

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 23:18:15