[英]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.