编写一个程序,打开一个包含以下四行数字的以下文件(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))
答案 0 :(得分:0)
怎么了?
尝试一下:
SetOnClickListener
没有空行。
答案 1 :(得分:0)
max()的参数应该是一个序列。使用split()将字符串更改为序列。
for i in list1:
if len(i) != 1: # not empty line
print(max(i.split()))
别忘了关闭文件,或将open('numbers1.txt')与f一起使用,它会自动关闭文件。
答案 2 :(得分:0)
您的代码存在一些问题:
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)
该代码段可以缩写,但是我只是为了教学目的添加了额外的行。
答案 3 :(得分:0)
另一个解决方案可能是:
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))