擅长:python、mysql、java
<p>在大多数情况下,代码的逻辑是正确的,但是python没有指出<code>health</code>是一个全局变量。这必须在<code>health_decrease</code>方法中显式完成,以便它使用现有的全局变量,而不是创建新的局部变量。<br/>
除此之外,某些格式(更具体地说,缩进)已关闭。<br/>
最后,我在从<code>health</code>中减去<code>decrement</code>时添加了一个<code>max()</code>组件,以确保该值不会由于浮点舍入错误而低于0</p>
<p>下面是一个功能代码示例(不带线程):</p>
<pre><code>import time
time_of_activity = float(input('How long should health decrease for in seconds? '))
health = float(input('What is the starting health? '))
decrement = health / time_of_activity
def health_decrease():
global health
i = 1
while i <= time_of_activity:
time.sleep(1)
i += 1
health = max(health - decrement, 0)
health_decrease()
</code></pre>