0
def main():
    getLargest()



def getLargest():
    global line, value, highVal, numberFile
    numberFile = open('numbers.dat', 'r') 
    print("Lets find the largest number!")
    highVal = 0
    line = numberFile.readline()

    while line != "":
        value = int(line)
        if value >= highVal:
           highVal = value

    numberFile.close()   
    print("Highest value: ", highVal)


main()

out out 是一个无限循环。我有一个包含 25 个随机生成的数字的文件,它从中读取但文件只是循环。我哪里做错了?

这是一门课,但我只是在寻找它为什么循环而不是我作业的答案。

4

1 回答 1

0

要遍历文件中的每一行,您需要在每次循环运行时更新行变量。所以你应该把循环改成这样:(同时仍然保持line = numberFile.readline()!)

    while line != "":
        value = int(line)
        if value >= highVal:
           highVal = value
        line = numberFile.readline()

否则循环将检查同一行。一次又一次……

于 2013-11-22T16:35:28.010 回答