擅长:python、mysql、java
<p><code>price_loyal</code>是试图与数值(4.75)进行比较的字符串(即使它包含使用<code>find</code>找到的数字)?供你比较</p>
<p><code>float(price_loyal)</code></p>
<p><strong>更新(感谢@agf):</p>
<p>使用Python<strong><em>v 3.x</em></strong>可以得到您提到的错误消息。</p>
<pre><code>>>> price_loyal = '555.5'
>>> price_loyal > 5000.0
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
price_loyal > 5000.0
TypeError: unorderable types: str() > float()
>>>
</code></pre>
<p>鉴于</p>
<pre><code>>>> float(price_loyal) > 5000.0
False
</code></pre>
<p>在这种情况下,Python的版本会有所不同,所以最好总是提到自己使用的版本。<em>以前。。。使用Python<strong>v 2.x</strong></em></p>
<p>如果不首先将<code>string</code>转换为<code>float</code>,您的比较将关闭。E、 g</p>
<pre><code>price_loyal
'555.5'
</code></pre>
<p>与string和float的比较给出了<code>True</code></p>
<pre><code>price_loyal > 5000.0
True
</code></pre>
<p>这种与float和float的比较给出了<code>False</code>应该的结果</p>
<pre><code>float(price_loyal) > 5000.0
False
</code></pre>
<p>可能还有其他问题,但这看起来像一个。</p>