为了账号安全,请及时绑定邮箱和手机立即绑定

使用循环时显示“字符串索引超出范围”

使用循环时显示“字符串索引超出范围”

繁星点点滴滴 2023-06-27 13:24:57
我正在尝试编写一个代码,使每行的第一个字母都大写,但它无法执行到第 6 行之后if l[0].islower():。当它l[0]在循环之外时工作正常,但当我将其放回循环中时总是显示“字符串索引超出范围”。m = open(r"C:\Users\■■■■■■\Desktop\■■■■\other.txt","r", encoding = "utf-8") #Just blocking the text outwhile True:    l = m.readline()    if l[0].islower():        l.replace(l[0],l[0].upper())            print(l)        if not l:        breakm.close()
查看完整描述

3 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞


您还可以更轻松地逐行迭代文件。


path = r"other.txt"

with open(path, 'r') as file:

    for line in file:

        print(line.capitalize())


查看完整回答
反对 回复 2023-06-27
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

l[0]将检查放在循环的开头而不是结尾,因为即使lis也会继续访问None。


while True:


    l = m.readline()

    if not l:

        break


    if l[0].islower():

        l.replace(l[0],l[0].upper())

        

    print(l)

    

m.close()


查看完整回答
反对 回复 2023-06-27
?
SMILET

TA贡献1796条经验 获得超4个赞

with open("content.txt", 'r') as file:


    while 1:

        content = file.readline()

        if not content:

            break


        print(content.capitalize())


print("Done !")

你可以用这个。


查看完整回答
反对 回复 2023-06-27
  • 3 回答
  • 0 关注
  • 112 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信