Python dart记分牌无效

时间:2017-03-11 15:46:51

标签: python python-2.7 python-2.x

我已经问了一个关于这个项目的问题,因为要求我修复了那个问题中的错误。但是,我现在遇到另一个问题。这次我已经做到了这样python程序检查输入的数字是否超过180(飞镖中允许的最大分数),但现在当我输入超过180的数字时,它似乎仍然将数字带走。任何帮助,将不胜感激。 代码: http://pastebin.com/XvWRJjWA

1 个答案:

答案 0 :(得分:0)

你有:

if (minusnum2 > 180):
   cumulative2 += minusnum2

但我认为你想要:

if (minusnum2 <= 180):
    cumulative2 += minusnum2

此外,我不是使用所有这些重复的方法,而是使用类重构它。然后,您可以为名称(存储为player0,player1的元组)和分数(score0,score1的列表)提供实例变量,而不是依赖于全局变量。

然后,有一个方法,将玩家编号(0或1)作为参数,并运行该玩家的得分逻辑(self.name [player]和self.score [player])。一旦你这样做,你可以使用这行代码在循环内的玩家0和玩家1之间切换,直到找到胜利者:

player = 1 - player

逻辑是,如果玩家为0,1 - 0将其设置为1,如果玩家为1,则1 - 1将其设置为0.