找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 95|回复: 3

[求助] IndexError: list index out of range

3

主题

10

帖子

10

积分

贫民

积分
10
欢乐的舒畅 发表于 2019-1-6 23:31:52 | 显示全部楼层 |阅读模式
username=input('请输入您的注册用户名:')
password=input('请输入您的注册密码:')
with open('list_of_info',mode='w',encoding='utf-8') as f:
    f.write('{}\n{}'.format(username,password))
print('恭喜您注册成功')
with open('list_of_info',mode='r+',encoding='utf-8') as f1:
    print(f1.readlines()[0],type(f1.readlines()[0]))
    count=0
    count1=0
    username_1=input('请输入您的登录用户名:').strip()
    while count<3:
        if username_1!=f1.readlines()[1]:
            print('请输入的用户名不存在,请重新输入')
            count+=1
        else:
            break
    password_1=input('请输入您的登录密码:').strip()
    while count<3:
        if password_1!=f1.readlines()[1]:
            print('您输入的密码错误,请重新输入')
            count1=count1+1
        else:
            break
    print('恭喜您登录成功')
运行结果如下:
请输入您的注册用户名:lk请输入您的注册密码:123恭喜您注册成功Traceback (most recent call last):  File "F:/python/python学习/人工智能/第一阶段day2/练习.py", line 7, in <module>    print(f1.readlines()[0],type(f1.readlines()[0]))IndexError: list index out of rangeProcess finished with exit code 1

print(f1.readlines()[0])能够成功运行,为何加了一个type后就报错呢。




回复

使用道具 举报

0

主题

2

帖子

2

积分

贫民

积分
2
熊大仙 发表于 2019-1-7 14:52:56 | 显示全部楼层
你前面一个readlines读完文件之后,当前文件流的位置已经到了文件末尾,所以你后面一个readlines就是从文件末尾开始读,读出来就是一个空列表,空列表索引就是list index out of range
回复 支持 反对

使用道具 举报

3

主题

10

帖子

10

积分

贫民

积分
10
欢乐的舒畅  楼主| 发表于 2019-1-7 21:28:37 | 显示全部楼层
熊大仙 发表于 2019-1-7 14:52
你前面一个readlines读完文件之后,当前文件流的位置已经到了文件末尾,所以你后面一个readlines就是从文件 ...

谢谢大神的指点,按照您的意思,print(f1.readlines()[0],type(f1.readlines()[0]))中两个f1.readlines()[0]在执行的时候是有先后顺序吗。为何以前在列表中从没有遇到过这种情况呢?
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
代理云代理IP 发表于 2019-1-8 13:40:26 | 显示全部楼层
感谢大神回答,学习了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表