这是我修改过的Blackjack版本。
我还是Python的新手,所以这个程序缺乏格式化和严格的规则修改,但我不明白的是,如果你要运行这个程序,为什么{{ 1}}具有与Total1
相同的输出。
在第1阶段,如果你只是通过并确认你已经过去了,那么一切都会顺利进行。你有自己的总数,即DealerTotal
和Card1
的总和,而且经销商有他自己的总数(我欺骗他并且让他击中3次):Card2
,Card1
,Card2
。所以在Card3
中一切正常。
但是,当我输入PHASE 1
时,执行相同的处理(传递和确认)会使PHASE 2
和Total1
输出相同。
为什么DealerTotal
中的DealerTotal
有效,PHASE 1
中的DealerTotal
即使代码相同也不行?
PHASE 2
答案 0 :(得分:2)
这可能听起来很愚蠢,但是Total1与DealerTotal具有相同值的原因是因为Total1与DealerTotal具有相同的值。
您可以在程序开头指定变量,然后再不要再触摸它们。 Total1是Total1 = Total + Cards[Card3]
。总计为Total = Cards[Card1] + Cards[Card2]
。因此,Total1相当于:Cards[Card1] + Cards[Card2] + Cards[Card3]
。
现在让我们看看DealerTotal:DealerTotal = Cards[Card1] + Cards[Card2] + Cards[Card3]
。好像很熟悉?
第1阶段不会发生这种情况,因为您使用Total
进行比较,而不是Total1
答案 1 :(得分:1)
这是因为你写的逻辑。
Total = Cards[Card1] + Cards[Card2]
Total1 = Total + Cards[Card3]
替换总计
的值Total1 = Cards[Card1] + Cards[Card2] + Cards[Card3]
和
DealerTotal = Cards[Card1] + Cards[Card2] + Cards[Card3]
你可能会看到,DealerTotal = Total1,这就是为什么它们相同的原因。