我在Python代码的两个不同位置引发异常:
holeCards = input("Select a hand to play: ")
try:
if len(holeCards) != 4:
raise ValueError(holeCards + ' does not represent a valid hand.')
和(编辑以更正升高代码)
^{pr2}$出于某种原因,第一个输出的字符串与我预期的一样:
ERROR: Amsterdam does not represent a valid hand.
但是,第二个输出了一些奇怪的集合和字符串的混合体:
ERROR: ('Kr', 'is not a known card.')
为什么“+”运算符在这两种情况下的行为不同?在
编辑:对init的调用如下所示:
card1 = PokerCard(cardsStr[0:2])
card2 = PokerCard(cardsStr[2:4])
这将用一个参数实例化ValueError异常,即您的合并(或添加)字符串:
这将用2个参数实例化ValueError异常,无论卡是什么,以及一个字符串:
^{2}$嗯,我是遗漏了什么还是你在比较
与
^{2}$???在
第二个使用“+”,但是第一个使用“,”,它确实可以并且应该给出您显示的输出!在
(注。这个问题都是从两种情况下都用“+”来编辑的。也许这个问题应该删除在
“card”可能表示一个包含字符串“Kr”的元组。当您在元组上使用+运算符时,您将创建一个添加了额外项的新元组。在
编辑:不,我错了。向元组添加字符串:
生成错误:
^{2}$确定“卡片”的类型可能会有帮助。你知道它是什么类型的吗?如果不是,试着写一个打印语句,比如:
相关问题 更多 >
编程相关推荐