Python如何降低第n个字符

-2 python

a = "HELLOGUYS"
def lowern(string,n) :
    for k in string[:n] :
         k.lower()
    return string
print(lowern(a,4))
Run Code Online (Sandbox Code Playgroud)

它仍然是“HELLOGUYS”。

moz*_*way 5

str.lower不是就地方法(字符串是不可变的)它返回结果,因此您必须将其分配回来。

虽然循环每个字符效率不高,但请使用切片:

a = "HELLOGUYS"
a = a[:4].lower()+a[4:]
print(a)
Run Code Online (Sandbox Code Playgroud)

作为一个函数:

def lowern(string, n) :
    return string[:n].lower()+string[n:]
Run Code Online (Sandbox Code Playgroud)

输出:

>>> lowern('HELLOGUYS', 4)
'hellOGUYS'
Run Code Online (Sandbox Code Playgroud)