我制作了一个脚本来添加文件中的浮点数。每个数字都在自己的行上分开。 我的结果看起来像这样...... 412.2693 412.4593 419.9593 我想只显示419.9593号码。
这是我到目前为止所写内容的最后一部分:
infile.close()
for theitem in totallist:
# print theitem
a = float(theitem)
# print a
total = 0.0
for item in totallist:
x = float(item)
total = total + x
print total
答案 0 :(得分:0)
您正在循环错误。假设您的文件有四个浮点值,并且您只想要最后一次添加。如果totallist包含您的文件结果值。
totallist = ["46.78","67.89","67.677","67"]
for theitem in totallist:
a = float(theitem)
total = 0.0
for item in totallist:
x = float(item)
total = total + x
print total
IDLE:
>>> ================================ RESTART ================================
>>>
249.347
>>>
否则,您可以插入列表并获取最后一个元素。
some_list [-1]是最短和最Pythonic。
答案 1 :(得分:0)
假设每行只能包含数字和空格,您可以使用下面的代码。它检查每一行,只存储数字(如果存在)。然后你可以像你提到的那样切片。
my_lst = []
with open('my_text_file.txt', 'r') as opened_file:
for line in opened_file:
number = line.strip()
if number:
my_lst.append(number)
print my_lst
请注意,with open() as
会自动关闭文件,并且优先于open()
。
答案 2 :(得分:0)
有点不清楚你想做什么。
我假设你在每一行都有一个浮点数的文件,你想对它们求和并打印结果。
如果您已经有totallist
包含这些行,那么您必须先将字符串转换为float
,然后才能使用sum
函数和print
结果:
total = sum(map(float, totallist))
print total
答案 3 :(得分:0)
我认为你的代码格式不合适,这很混乱。
您只需要在循环外打印总数。
for item in totallist:
x = float(item)
total = total + x
print total
答案 4 :(得分:0)
>>> total = sum(float(number) for number in numbers)
答案 5 :(得分:0)
如果你想要一个列表(来自文件): lines = open(filename,“r”)。readlines()
如果要显示列表中的最后一项: 打印(行[-1])