<p>您仅将<code>word_upper</code>变量中的第一个字符转换为大写。要获得所需的输出,您需要做两件事</p>
<ol>
<li>跳过句子的第一个单词</li>
<li>用大写字母替换后续单词的第一个字符,并将其附加到输出中。
要实现这一点,您必须更改循环并使用<code>enumerate()</code>从循环<a href="https://www.programiz.com/python-programming/methods/built-in/enumerate" rel="nofollow noreferrer">(see here)</a>获取单词索引,然后对于以后的单词,只替换第一个字符。
代码应该是</li>
</ol>
<pre class="lang-py prettyprint-override"><code>def make_camel_case(word_string):
word_list = word_string.split(' ')
output = ''
for i,word in enumerate(word_list):
if(i != 0):
word_upper = word[0].upper()
word = word_upper + word[1:]
output = output + word
return(output)
def camel_case():
phrase1 = 'purple people eater'
phrase2 = 'i can\'t believe it\'s not butter'
phrase3 = 'heinz 57 sauce'
print(make_camel_case(phrase1))
print(make_camel_case(phrase2))
print(make_camel_case(phrase3))
camel_case()
</code></pre>
<p>对于更干净的解决方案,使用<a href="https://stackoverflow.com/users/13903942/federico-ba%C3%B9">@federico-baù.</a>建议的<code>str.capitalize()</code>函数<a href="https://www.geeksforgeeks.org/string-capitalize-python/#:%7E:text=In%20Python%2C%20the%20capitalize(),string_name." rel="nofollow noreferrer">(see here)</a>,然后函数会变成这样</p>
<pre class="lang-py prettyprint-override"><code>def make_camel_case(word_string):
word_list = word_string.split(' ')
output = ''
for i,word in enumerate(word_list):
if(i != 0):
word = word.capitalize()
output = output + word
return(output)
</code></pre>
<p>希望它能澄清你的问题。继续学习</p>