如何在文件的每一行中找到最大的数字

编写一个程序,打开以下包含 4 行数字的文件 (numbers1.txt),如下所示:


numbers1.txt

 100   900

-3.2   25.9 

30       11

 ( Empty line)

200    500 

程序应该读取每一行中的两个数字并使用 max() 函数打印最大值程序应该在没有数字时打印一条消息


我的代码不起作用??


f=open('numbers1.txt','r')

list1=f.readlines()

for i in list1:

    print(max(i))


UYOU
浏览 170回答 3
3回答

料青山看我应如是

另一种解决方案可能是:n = len(list1)for i in range(0,n):    x = (list1[i].split())    if not x: # skip if line is empty        continue    print(max(x))

侃侃无极

错误是什么?尝试这个:for i in list1:    print(max(i.strip())没有空行。

繁星淼淼

您的代码有一些问题:该max()函数使用单个字符串参数('100   900'例如字符串)调用,但需要两个值。line.split()为此目的使用。我猜字符串值应该float在评估之前转换为max().你应该处理空行。您应该在阅读后关闭文件。此代码应解决以下问题:with open('numbers.txt', 'r') as f:    lines = f.readlines()    for line in lines:        if line.strip() == '':            continue        n1, n2 = line.split()        max_value = max(float(n1), float(n2))        print(max_value)该代码段可以缩写,但我只是出于教学目的添加了额外的行。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python