我在这一个上挥舞着白旗。我有一个单独的文件txt文件,其中包含数字列表。我想要掌握的是为什么最大数字每次出现9?
def main():
writeFile()
numbers = readFile()
statFile(numbers)
def writeFile():
import random
outfile = open('numbers.dat', 'w')
for i in range(100):
number = random.randint(1, 1001)
outfile.write(str(number)+ '\n')
outfile.close()
return print("All numbers have been generated and written to file.")
def readFile():
infile = open('numbers.dat', 'r')
return (infile.read())
infile.close()
def statFile(numbers):
return print("The largest number is: ", max(numbers))
main()
答案 0 :(得分:0)
每行“\ n”都有一个分隔符导致此问题。以下更改将给出正确答案:
numbers = readFile().split("\n")
file.read()也将读取数字变量中的整个文件内容,而不是List / Array。
答案 1 :(得分:0)
因为代码中的数字是一个整数值字符串。 max函数返回任何字符串的最大字母值,即9。
答案 2 :(得分:0)
您目前正在查找字符串的最大字符。
infile.read()
不会返回数值,也不会拆分单行
您需要将文件读入数字列表
def readFile():
with open('numbers.dat') as infile:
return (int(line) for line in infile)