擅长:python、mysql、java
<p>快速解决办法是:</p>
<pre><code>def encode_units(x):
if float(x) <= 0:
return 0
if float(x) >= 1:
return 1
</code></pre>
<p>通过这种方式,可以将x变量转换为数字类型,只有这样才能将其与0或1进行比较。现在,似乎x是一个字符串,您无法将字符串(python理解为任何文本)与值进行比较。如果只有整数,而不是<code>float(x)</code>,则可以使用<code>int(x)</code></p>
<p>但是,如果您无法控制x,则仅将x转换为数字可能不起作用,因为并非所有变量都可以通过这种方式转换,并且转换过程可能会抛出错误。更安全的做法是:</p>
<pre><code>def encode_units(x):
try:
if float(x) <= 0:
return 0
if float(x) >= 1:
return 1
except:
return 999
</code></pre>
<p>这样,如果转换不起作用,函数将返回999,您可以检查是否继续</p>