python - 从 Python 代码中获取不正确的输出

标签 python python-3.x

对于这个函数,我应该读取一个包含 12 个随机数的文件。然后我应该每行输出数字 1,最后程序应该将偶数和赔率分开,然后将它们相加并显示它们的总数。这里的问题是,即使我可以很好地打印数字,总功能最终还是搞砸了,给出了不正确的总数。

def main():

    infile = open('numbers.txt','r')

    line1 = infile.readline()
    line2 = infile.readline()
    line3 = infile.readline()
    line4 = infile.readline()
    line5 = infile.readline()
    line6 = infile.readline()
    line7 = infile.readline()
    line8 = infile.readline()
    line9 = infile.readline()
    line10 = infile.readline()

    line1 = line1.rstrip('\n')
    line2 = line2.rstrip('\n')
    line3 = line3.rstrip('\n')
    line4 = line4.rstrip('\n')
    line5 = line5.rstrip('\n')
    line6 = line6.rstrip('\n')
    line7 = line7.rstrip('\n')
    line8 = line8.rstrip('\n')
    line9 = line9.rstrip('\n')
    line10 = line10.rstrip('\n')

    print(line1)
    print(line2)
    print(line3)
    print(line4)
    print(line5)
    print(line6)
    print(line7)
    print(line8)
    print(line9)
    print(line10)

    line = infile.readline()

    total = 0
    evenTotal = 0
    oddTotal = 0

    while line != '':
        total += int(line)
        if int(line) % 2 == 0:
            evenTotal += int(line)
        else:
            oddTotal += int(line)
        line = infile.readline()

    print("=======================================")
    print('The total for the even numbers is', evenTotal)
    print("=======================================")
    print('The total for the odd numbers is', oddTotal)

    infile.close()
main()

这是文件的内容

47
64
67
40
91
98
82
2
42
84
48
96

不知何故,我只得到两个总数的 0。

有人可以帮忙吗?

最佳答案

open 返回的文件对象维护一个指向您当前在文件中的位置的指针。每次调用 infile.readline() 时,它都会将该指针前进到下一行。

因为在测试代码的过程中,您会提前读取每一行(并打印出来),当您到达后面的计算行值的代码时,您的文件已经到达末尾并且不会神奇地回到文件的开头。

您可以重新打开文件,或者更简单地使用 infile.seek(0)将文件指针返回到文件的开头。

关于python - 从 Python 代码中获取不正确的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28617852/

相关文章:

python - 只要没有错误,如何运行while循环

python - 使用 QSqlTableModel 和 QTableView 模型和 View 布局,是否可以在我的表中有一列来隐藏行

python - 合并两个具有相同日期的文件

python - 如何检查给定的 Python 环境是否是 PipEnv

python - 如何使用python本地连接到Mongo数据库

python - 使用 BOTO3 ,如何仅按日期过滤和描述快照

python - 如何通过gmail api获取内容['payload' ] ['body' ] ['data' ] first mail

javascript - 如何使用django递归关系和react js回复特定评论

python - 有没有办法获得 Tkinter 中相对于整个屏幕的小部件位置?

python - 在嵌套字典列表中添加平均值的键