如何只打印python中的最后一个浮点数?

时间:2015-02-25 11:11:14

标签: python point floating

我制作了一个脚本来添加文件中的浮点数。每个数字都在自己的行上分开。 我的结果看起来像这样...... 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

6 个答案:

答案 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])