繁体   English   中英

python 中的异常处理计算字符串中的字符数

[英]Exception handling in python Counting the number of characters in a string

这是我的代码。

def word_count(my_string):
    count=1
    if type(my_string) == str:
        try:
            for eachCharacter in my_string:
                if eachCharacter==' ':
                    count+=1
            return count
        except:
            return "Not a string"

我必须得到 output 为:

Word Count: 4
Word Count: 1
Word Count: 7
Word Count: Not a string
Word Count: Not a string
Word Count: Not a string

但我得到:

Word Count: 4
Word Count: 1
Word Count: 7
Word Count: None
Word Count: None
Word Count: None

谁能帮我找到这个错误

Изучите enumerate([1, 2, ...]) 和 raise Exeption("...")

您需要处理输入不是字符串的情况:

def word_count(my_string):
    count=1
    if type(my_string) == str:
        for eachCharacter in my_string:
            if eachCharacter==' ':
                count+=1
        return count
    return "Not a string"

正如您现在所拥有的,您的 function 不会显式返回任何内容,因此如果传入的 object 不是字符串,则返回None 此外,try/except 对你没有好处,因为try中的代码永远不会抛出异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM