为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

UYOU 2021-09-11 15:15:50
编写一个程序,打开以下包含 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))
查看完整描述

3 回答

?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

另一种解决方案可能是:


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))


查看完整回答
反对 回复 2021-09-11
?
侃侃无极

TA贡献2051条经验 获得超10个赞

错误是什么?

尝试这个:

for i in list1:

    print(max(i.strip())

没有空行。


查看完整回答
反对 回复 2021-09-11
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

您的代码有一些问题:

  1. max()函数使用单个字符串参数('100   900'例如字符串)调用,但需要两个值。line.split()为此目的使用。

  2. 我猜字符串值应该float在评估之前转换为max().

  3. 你应该处理空行。

  4. 您应该在阅读后关闭文件。

此代码应解决以下问题:

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)

该代码段可以缩写,但我只是出于教学目的添加了额外的行。


查看完整回答
反对 回复 2021-09-11
  • 3 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号