编写一个程序,打开以下包含 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
提交
取消