首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何确定为什么我的Python代码需要无限时间才能运行

如何确定为什么我的Python代码需要无限时间才能运行
EN

Stack Overflow用户
提问于 2018-06-14 03:49:38
回答 1查看 59关注 0票数 0

我学习了一点面向对象编程和文件I/O。我试图通过编写自己的代码将它们应用到现实生活中。然而,不幸的是,它不能运行。Python从来不会说有错误。它只是整天执行命令,并说请等待结果。

下面是我的代码:

代码语言:javascript
复制
class CoursesTaken():

    def __init__(self):
        self._courses = []

    def read_file(self, file):
        line = file.readline().strip()
        while line != 0:
            course = tuple(line.split())
            self._courses.append(course)

    def add_course(self, season, code, gpa):
        self._course = (season, code, gpa)
        self._courses.append(self._course)

    def total_courses(self):
        return self._courses

    def name_of_total_courses(self):
        result = []
        for i in self._courses:
            name = i[1]
            result.append(name)
        return result


if __name__ == '__main__':
    file = open('courses.txt')
    courses = CoursesTaken()
    courses.read_file(file)
    print(courses.name_of_total_courses)
    file.close()

txt文件的格式如下:

2018S CSC111 A

2018S MAT101 B+

我不知道如何改进我的代码。

EN

回答 1

Stack Overflow用户

发布于 2018-06-14 03:58:06

您的问题出在以下代码片段中:

代码语言:javascript
复制
line = file.readline().strip()
while line != 0:

line永远不会为== 0,因为它是字符串,而0是整数。它们在python中永远不能相提并论,因此您的循环将永远重复。此外,您不需要在循环内执行任何操作来更改line变量的值。它将永远保持循环开始前分配的第一个值,条件永远不会改变。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50845162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档