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

如何统计给定字符串的字母、数字和特殊符号?代码无输出问题排查

问题排查与修复

你的函数运行无输出及代码存在的问题如下:

1. 核心无输出原因:未调用函数

你仅定义了find_digits_chars_symbols函数,但没有在代码末尾触发函数调用,函数内部的逻辑完全未执行,因此没有任何输出。需要添加函数调用语句,比如传入测试字符串执行。

2. 变量名拼写错误

else分支中写的是symbol += 1,但初始化的统计变量是symbols(复数形式),这会导致运行时抛出NameError错误。

3. 字母判断逻辑不准确

"A"<=i <= "z"的判断有漏洞,ASCII表中大写字母与小写字母之间存在[、\、]等非字母字符,这些字符会被错误判定为字母。使用字符串内置的isalpha()方法判断字母更可靠。

修复后的完整代码

def find_digits_chars_symbols(a):
    letters = 0
    digits = 0
    symbols = 0
    for i in a:
        if i.isalpha():
            letters += 1
        elif i.isdigit():
            digits += 1
        else:
            symbols += 1
            
    print("Letters=", letters)
    print("Digits=", digits)
    print("Symbols=", symbols)

# 调用函数,传入测试字符串
find_digits_chars_symbols("Hello123!@#")

运行示例

传入测试字符串"Hello123!@#"后,输出结果为:

Letters= 5
Digits= 3
Symbols= 3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 06:15:29