为何我编写的单词字符数统计函数没有任何输出?
函数无输出的原因及解决办法
问题出在return语句的位置:你的函数中return counter写在了print(counter)的前面。在Python里,一旦函数执行到return语句,会立即终止函数运行并返回指定的值,return之后的所有代码都不会被执行,所以你写的print(counter)永远没机会运行,自然看不到输出。
有两种常见的解决方式:
方式一:调整print和return的顺序
把打印操作放在return之前,这样先输出结果再返回值:
def get_length(word): counter = 0 for letter in word: counter += 1 print(counter) return counter
方式二:调用函数时打印返回值
如果希望函数只负责计算并返回结果(更符合函数的单一职责原则),可以在调用函数的时候打印返回的数值:
def get_length(word): counter = 0 for letter in word: counter += 1 return counter # 调用函数并打印结果 print(get_length("your_word_here"))
另外补充:Python有内置的len()函数可以直接获取字符串的长度,比如len("hello")会直接返回5,如果你只是需要获取长度,用内置函数会更简洁。
内容的提问来源于stack exchange,提问作者Sal
相关产品推荐
相关产品推荐

