編寫一個程序,打開以下包含 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))

繁星淼淼
TA貢獻1775條經驗 獲得超11個贊
您的代碼有一些問題:
該
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)
該代碼段可以縮寫,但我只是出于教學目的添加了額外的行。
添加回答
舉報
0/150
提交
取消