程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Python:使用for循环遍历字符串在打印时返回两行

发布于2022-08-11 09:29     阅读(248)     评论(0)     点赞(18)     收藏(2)


我编写了这个小程序,将camelCase 函数描述转换为snake_case 描述。

def main():
    #Get input and pass it to function
    string = input("Camelcase: ")
    make_snake(string)

def make_snake(string):
    for char in string:
        if char.isupper():
            string = string.replace(char, "_"+ (char))
            string_new = string.lower()
            print(f"snake_case: {string_new}")

main()

它适用于带有一个大写字母(如 firstName)的 camelCase 单词,但是当我使用带有两个大写字母(如“preferredFirstName”)的 camelCases 运行它时,打印返回两行:

首选名字首选名字

我希望它只返回第二行。知道为什么吗?非常感谢您的参与!迈克尔


解决方案


您需要等到所有字母都处理完毕才能打印转换后的字符串。

>>> def make_snake(string):
...     for char in string:
...         if char.isupper():
...             string = string.replace(char, "_"+ (char))
...     string_new = string.lower()
...     print("snake_case: "+string_new)
...
>>> make_snake('preferredFirstName')
snake_case: preferred_first_name
>>>


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/1659348/00e1011f53ba405b9e82/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

18 0
收藏该文
已收藏

评论内容:(最多支持255个字符)