<p>我在Python代码的两个不同位置引发异常:</p>
<pre><code>holeCards = input("Select a hand to play: ")
try:
if len(holeCards) != 4:
raise ValueError(holeCards + ' does not represent a valid hand.')
</code></pre>
<p>和<strong>(编辑以更正升高代码)</strong></p>
^{pr2}$
<p>出于某种原因,第一个输出的字符串与我预期的一样:</p>
<pre><code>ERROR: Amsterdam does not represent a valid hand.
</code></pre>
<p>但是,第二个输出了一些奇怪的集合和字符串的混合体:</p>
<pre><code>ERROR: ('Kr', 'is not a known card.')
</code></pre>
<p>为什么“+”运算符在这两种情况下的行为不同?在</p>
<p><strong>编辑:</strong>对init的调用如下所示:</p>
<pre><code> card1 = PokerCard(cardsStr[0:2])
card2 = PokerCard(cardsStr[2:4])
</code></pre>
<p>嗯,我是遗漏了什么还是你在比较</p>
<pre><code>raise ValueError(card, 'is not a known card.')
</code></pre>
<p>与</p>
^{2}$
<p>???在</p>
<p>第二个使用“+”,但是第一个使用“,”,它确实可以并且应该给出您显示的输出!在</p>
<p>(注。这个问题都是从两种情况下都用“+”来编辑的。也许这个问题应该删除在</p>