Python如何降低n的第一个字符

2024-09-29 23:27:15 发布

您现在位置:Python中文网/ 问答频道 /正文

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

它仍然是“HELLOGUYS”


Tags: inforstringreturndeflowerprinthelloguys
2条回答

^{}而不是就地方法(字符串是不可变的)。它返回结果,因此您必须将其重新分配

此外,循环每个字符也不是很有效,请改用切片:

a = "HELLOGUYS"
a = a[:4].lower()+a[4:]
print(a)

作为一项功能:

def lowern(string, n) :
    return string[:n].lower()+string[n:]

输出:

>>> lowern('HELLOGUYS', 4)
'hellOGUYS'

当你循环一个字符串(或者通常是一个iterable)时,你不能直接控制它,相反,它们是复制的值。更重要的是,使用k.lower()并不是降低k。这将向您返回一个新的降低的字符,而不是更改k

要执行您打算执行的操作,您需要将内容重新分配给string或返回一个新值

另外,您不需要迭代,您可以使用lower而不仅仅是一个字符来降低整个字符串

def lowern(string, n):
    return string[:n].lower() + string[n:]

相关问题 更多 >

    热门问题