Python 保存循环中计算的初始数

Python 保存循环中计算的初始数,python,python-3.x,Python,Python 3.x,我有一个问题,需要python方面的帮助。我在for循环中有一个计算,它输出不断变化的答案 我想将循环中计算的第一个值保存在数组或类似的东西中,以便稍后在脚本中使用它。我试着在网上寻求帮助,但到目前为止没有任何效果 代码如下所示 for face in faces: x,y,w,h = face ss = 2.8*57*480 BB = h*3.60 F = ss/BB print ('Distance = ', F) 您可以使用生成器表达式生成所有值

我有一个问题,需要python方面的帮助。我在for循环中有一个计算,它输出不断变化的答案

我想将循环中计算的第一个值保存在数组或类似的东西中,以便稍后在脚本中使用它。我试着在网上寻求帮助,但到目前为止没有任何效果

代码如下所示

for face in faces:

    x,y,w,h = face
    ss = 2.8*57*480
    BB = h*3.60
    F = ss/BB
    print ('Distance = ', F)

您可以使用生成器表达式生成所有值,保存第一个值,然后全部打印

import itertools

ss = 2.8 * 57 * 480
distances = (ss / h*3.6 for _, _, _, h in faces)

saved_distance = next(distances, None)  # the None prevents an error if `faces` is empty
for distance in itertools.chain([saved_distance], distances):
    print(f"Distance = {distance}")

我看不到您的代码中有任何循环,很难准确理解您想要什么。我想您可能需要的是:
返回x
,如果这是在函数中。否则,您不会更改
x
的值,因此从技术上讲它是“保存”的。否则,我唯一要解释的是,你的意思是保存到一个文件,然后你只需要简单地搜索“如何在python中将值保存到文件”之类的内容,这方面有大量的资源。你只想保存循环中的第一个值吗?我想您可以使用if语句并将第一个结果赋给变量或数组。但是如果只使用第一个结果,为什么还要使用循环呢?谢谢你的回复。实际代码是一个人脸检测系统。我想使用检测到的对象高度的变化来确定对象移动了多少。在完整的代码中,h是不断变化的。我想做的是得到初始值并找出与当前值的差异。我已经实现了这一点,并试图打印出第一个值,因为这是我现在感兴趣的,但无法做到。请告诉我如何存储初始计算值并打印。谢谢你的支持help@Dave1
saved_distance
是我认为的第一个值,但当h
saved_distance
的值发生变化时,它会一直为saved_distance打印一个新值,这不是生成器,而是生成的值。它不能更改:)。您的代码不能反映我的代码。我的代码与您的代码非常相似。这可能是因为代码的这一部分处于不断变化的while循环中吗?我试着把我的代码粘贴到这里来展示给你看,但是格式不太好。