我正在尝试学习Python。在这种情况下,我需要在遇到大写字母时拆分单词,将其转换为小写字母,然后插入“_”。
我看到了各种相当复杂的答案这里或这里或这里,但我试图尽可能简单地做到这一点。
到目前为止,这是我的代码:
word = input("What is the camelCase?")
for i , k in word:
if i.isupper() and k.islower():
word2 = k + "_" + i.lower + k
print(word2)
else:
print(word)
在我输入单词后,这会导致“
not enough values to unpack (expected 2, got 1)
”。
这里的另一次尝试:
word = input("What is the camelCase?")
for i and k in word:
if i.isupper() and k.islower():
word2 = k + "_" + i.lower + k
print(word2)
else:
print(word)
这种情况我连字都写不出来,直接报错:“
cannot assign to expression
”
您的方法已经差不多了,但是还有一些问题。让我帮你纠正它们:
这是代码的更正版本:
word = input("What is the camelCase?")
word2 = ""
for i, char in enumerate(word):
if i > 0 and char.isupper() and word[i - 1].islower():
word2 += "_" + char.lower()
else:
word2 += char
print(word2)