• python经典百题之字符串长度


    题目:写一个函数,求一个字符串的长度,在 main 函数中输入字符串,并输出其长度。

    程序分析

    我们需要编写一个函数来计算给定字符串的长度。字符串长度即是字符串中字符的数量。

    方法1:使用内置函数 len()

    解题思路

    • 使用内置函数 len() 可以直接计算字符串的长度。

    代码实现

    def calculate_length_using_len(string):
        return len(string)
    
    # Example usage in main function
    def main():
        input_string = input("Enter a string: ")
        length = calculate_length_using_len(input_string)
        print(f"The length of the string is: {length}")
    
    if __name__ == "__main__":
        main()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    优缺点

    • 优点:
      • 简单、快速,内置函数 len() 提供了直接的解决方案。
    • 缺点:
      • 无明显缺点。

    方法2:遍历字符串计数

    解题思路

    • 遍历字符串,每遍历到一个字符就增加计数器的值,最终得到字符串的长度。

    代码实现

    def calculate_length_using_iteration(string):
        count = 0
        for char in string:
            count += 1
        return count
    
    # Example usage in main function
    def main():
        input_string = input("Enter a string: ")
        length = calculate_length_using_iteration(input_string)
        print(f"The length of the string is: {length}")
    
    if __name__ == "__main__":
        main()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    优缺点

    • 优点:
      • 简单,不依赖额外的函数。
    • 缺点:
      • 需要遍历整个字符串,时间复杂度为O(n),其中n是字符串的长度。

    方法3:递归计算字符串长度

    解题思路

    • 使用递归的方式计算字符串的长度,每次递归将字符串长度减1,直到字符串为空。

    代码实现

    def calculate_length_using_recursion(string):
        if string == "":
            return 0
        else:
            return 1 + calculate_length_using_recursion(string[1:])
    
    # Example usage in main function
    def main():
        input_string = input("Enter a string: ")
        length = calculate_length_using_recursion(input_string)
        print(f"The length of the string is: {length}")
    
    if __name__ == "__main__":
        main()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    优缺点

    • 优点:
      • 可以使用递归来解决,递归思路清晰。
    • 缺点:
      • 递归可能在长字符串上导致栈溢出,不适用于极长的字符串。

    总结和推荐

    • 推荐方法1(使用内置函数 len())
      • 具有较好的时间复杂度和空间复杂度。
      • 简单、快速,直接使用内置函数即可。

    综上所述,推荐使用内置函数 len() 来计算字符串长度。

  • 相关阅读:
    从零开始配置 vim(15)——状态栏配置
    uni-app实现广告滚动条
    有能帮我看看这个怎么恢复吗?
    深入了解网络流量清洗--使用免费的雷池社区版进行防护
    【node进阶】深入浅出websocket即时通讯(二)-实现简易的群聊&私聊
    docker_python-django_uwsgi_nginx_浏览器_网络访问映过程
    python---生成器表达式
    享元模式介绍(含案例代码)
    智慧用电监控装置:引领0.4kV安全用电新时代
    css 预处理器的相关使用
  • 原文地址:https://blog.csdn.net/yechuanhui/article/details/133482935