Python如何实现字符串前n个字符转小写?现有代码运行无效如何解决
代码存在的问题
- Python中的字符串是不可变类型,你遍历
string[:n]拿到的每个k都是独立的字符副本,调用k.lower()只会生成新的小写字符,不会对原字符串产生任何修改。同时循环内没有对处理后的字符做保存,最后直接返回了未改动的原字符串,自然达不到预期效果。
正确实现代码
不需要循环遍历单个字符,直接对前n个字符整体转小写后拼接剩余字符即可,修改后代码如下:
a = "HELLOGUYS" def lowern(string,n): return string[:n].lower() + string[n:] print(lowern(a,4))
运行后输出结果为hellOGUYS,符合需求。
内容的提问来源于stack exchange,提问作者user15503745
相关产品推荐
相关产品推荐

