擅长:python、mysql、java
<p>您的问题是比较的是字符串,而不是数值。我最初的想法是您使用的是python2,但实际上这种失败也可以用<a href="https://stackoverflow.com/questions/4806911/string-comparison-technique-used-by-python">lexicographical ordering</a>来解释</p>
<p>将列表<code>Ab5sS</code>更改为包含整数。所以:</p>
<pre><code>Ab5s = [9, 12, 1, 10, 5, 6, 6, 8]
</code></pre>
<p>要修复您的<code>print</code>,请将其转换为字符串,例如:</p>
<pre><code>print("Player has " + str(PlayerCardAb5) + " " + Ab5Name)
</code></pre>
<p>或者,最好使用<code>format()</code>:</p>
<pre><code>print("Player has {} {}".format(PlayerCardAb5, Ab5Name))
</code></pre>
<p>正如您在另一条评论中提到的,您的问题是您将字符串作为值从文件中读取。这不会阻止您将值转换为<code>int</code>;最简单的方法可能只是列表理解:</p>
<pre><code>Ab5s = ['9', '12', '1', '10', '5', '6', '6', '8']
Ab5s = [int(item) for item in Ab5s]
</code></pre>
<p>还有其他方法,比如<code>map</code>,但我认为那是<a href="https://www.artima.com/weblogs/viewpost.jsp?thread=98196" rel="nofollow noreferrer">falling out of favour</a>。你知道吗</p>
<pre><code>Ab5s = map(float, Ab5s)
</code></pre>