Py学习  »  Python

函数内部的python readline()跳过文件中的第二行

xqljmnz • 5 年前 • 1517 次点击  

我是编程领域的初学者。我正在做一本书上的练习,有些东西我不明白。 我在函数中使用readline()命令,然后在m a in()中启动for循环以查找文件中最大的数字。文件的每一行都有一个数字列表:最大的数字在第二行,但由于某种原因,程序跳过了第二行(其中包含最大的数字)。这是代码:

def reader(filename):
    nums = filename.readline()
    return(nums)

def main():
    filename = open("numbers.txt", 'r')
    largest = reader(filename)
    for line in filename:
        number = reader(filename)
        if number > largest:
            largest = number

    print("The largest number is:", largest)

main()

但当我将readline()放在main()函数中并更改循环中的参数时,一切正常:

def helper(filename):

    nums = filename
    return(nums)

def main():

    filename = open("numbers.txt", 'r')
    largest = helper(filename.readline())
    for line in filename:
        number = helper(line)
        if number > largest:
            largest = number

    print("The largest number is:", largest)

main()

显然有些东西我遗漏了,但我不知道到底是什么。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40888
 
1517 次点击  
文章 [ 3 ]  |  最新文章 5 年前