社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

xqljmnz • 5 年前 • 1519 次点击  

我是编程领域的初学者。我正在做一本书上的练习,有些东西我不明白。 我在函数中使用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
 
1519 次点击  
文章 [ 3 ]  |  最新文章 5 年前