You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将camelCasing转换为camel_casing遇问题,求技术协助

问题排查与修复

你的代码存在这几个核心问题:

  • 替换后未更新原始字符串:你用j = test.replace(i,"_"+n)生成了替换后的字符串,但没把j赋值回test,导致后续替换始终基于最初的输入,无法累积修改效果。
  • loop变量限制了替换次数:loop < 2的条件让程序只能执行一次替换操作,后续的大写字母根本没机会被处理。
  • 嵌套while循环逻辑混乱:外层的while True没有终止条件,会直接让程序陷入死循环;内层的while判断完全冗余,遍历字符处理即可。

修正后的代码:

test = input("Enter your camelCasing: ")
result = []
for char in test:
    if char.isupper():
        result.append('_')
        result.append(char.lower())
    else:
        result.append(char)
snake_case = ''.join(result)
print(snake_case)

代码说明:

  • 直接遍历输入字符串的每个字符,判断是否为大写字母。
  • 遇到大写字母时,先添加下划线,再追加对应的小写字母;小写字母则直接加入结果列表。
  • 最后用join把列表拼接成完整的蛇形字符串,所有大写字母都会被正确转换。

测试输入thisDoesAThing,会输出this_does_a_thing,完全符合需求。

内容的提问来源于stack exchange,提问作者Abdul Salam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 22:10:29