亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

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 關注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號