繁体   English   中英

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

[英]Python: Iterating through string with a for loop returns two lines when printing

我编写了这个小程序,将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
>>>

暂无
暂无

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

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