<p>我认为线程的解决方案可能会有所帮助,但从您的问题陈述来看,我相信您只需要有一个函数来提供累积的总能量和随时间损失的能量之差</p>
<p>为此,您可以在开始时启动计时器,并创建一个函数,该函数将使用当前时间减去执行时间来计算每次的能量损失</p>
<p>以下内容可能足以满足您的情况:</p>
<pre><code>import time
energy_gain_constant = 5
energy_loss_constant = -2
total_energy_gain = 0
start_time = time.time()
def print_total_energy():
print(total_energy_gain + int((time.time() - start_time) / 0.5) * energy_loss_constant)
print("press enter to gain energy")
while True:
energyup = input()
if energyup == "":
total_energy_gain += energy_gain_constant
print_total_energy()
</code></pre>
<p>将调试日志添加到打印其行为方式的方法中:</p>
<pre><code>def print_total_energy():
total_energy_lost = int((time.time() - start_time) / 0.5) * energy_loss_constant
print(f'Total execution time: {time.time() - start_time}')
print(f'Total energy lost: {total_energy_lost}')
print(f'Total energy gained: {total_energy_gain}')
print(f'Total Energy: {total_energy_gain + total_energy_lost}')
</code></pre>
<p>输出:</p>
<pre><code>Total execution time: 12.982820272445679
Total energy lost: -50
Total energy gained: 65
Total Energy: 15
</code></pre>