如何使python代码运行更多的单词

use*_*227 0 python python-3.x

代码只运行一个单词而不是整个字符串

def silly_case(in_string):
    firstlet =  in_string[0]
    firstlet = firstlet.lower()
    upperpart =  in_string[1:]
    upperpart = upperpart.upper()
    in_string =  firstlet + upperpart
    return in_string

silly_string = silly_case("This is a string")
print(silly_string)
Run Code Online (Sandbox Code Playgroud)

blh*_*ing 5

您可以使用内置函数titleswapcase:

>>> "This is a string".title().swapcase()
'tHIS iS a sTRING'
Run Code Online (Sandbox Code Playgroud)

或者为了修复代码,您应该将字符串拆分为单词,然后在对每个单词应用案例逻辑之前迭代它们:

def silly_case(in_string):
    words = []
    for word in in_string.split():
        firstlet =  word[0]
        firstlet = firstlet.lower()
        upperpart =  word[1:]
        upperpart = upperpart.upper()
        words.append(firstlet + upperpart)
    return ' '.join(words)

silly_string = silly_case("This is a string")
print(silly_string)
Run Code Online (Sandbox Code Playgroud)