Python程序,它模拟了一个完整的单人游戏“猪”,从总分为0开始,一轮接一轮地玩,直到达到100分

Python程序,它模拟了一个完整的单人游戏“猪”,从总分为0开始,一轮接一轮地玩,直到达到100分,python,python-3.x,probability,dice,Python,Python 3.x,Probability,Dice,下面是一个示例输出: -滚了一个2 -滚了一个1 干掉! 转身得分=0 新总分=0 -滚了一个1 干掉! 转身得分=0 新总分=0 -滚了一个6 -滚了一个6 -滚了一个6 -滚了一个5 转身得分=23,依此类推 新总分=90分 -滚了一个6 -滚了一个6 -滚了一个3 转身得分=15分 新总分=105 下面是我如何解决这个问题的: ` import random print("Well, hello there.") score = 0 while(scor

下面是一个示例输出: -滚了一个2 -滚了一个1 干掉! 转身得分=0 新总分=0 -滚了一个1 干掉! 转身得分=0 新总分=0 -滚了一个6 -滚了一个6 -滚了一个6 -滚了一个5 转身得分=23,依此类推 新总分=90分 -滚了一个6 -滚了一个6 -滚了一个3 转身得分=15分 新总分=105

下面是我如何解决这个问题的:

`    import random
     print("Well, hello there.")
     score = 0
     while(score<=100):
         turn_score=0
         while (turn_score<=20):
             dice_value=random.randint(1,6)
             if (dice_value==1):
                 print("Pigged out! Better luck next time!")
                 turn_score=0
                 break #to get out of the loop in case a roll rolls up
             else:
                 print("-rolled a ",dice_value)
                 score+=dice_value 
                 print("Score is  ",turn_score)
        score+=turn_score
        print("Final score is: ",score)`
我试着做的是首先做一个内部循环,掷骰子,加上值,如果出现1,则回合分数为0,并将其作为回合分数

然后我想把它作为一个整体循环,直到达到总回合得分>=100为止

有人能解释一下我哪里出错了吗

以下是我运行时得到的输出: 你好。 -滚了一个3 分数是0 -滚了一个2 分数是0 -滚了一个6 分数是0 干掉!祝你下次好运! 最终比分是:11分 -滚了一个6 分数是0 -滚了一个4 分数是0 -滚了一个5 分数是0 -滚了一个2 分数是0 -滚了一个2 分数是0 -滚了一个4 分数是0 -滚了一个2 分数是0 -滚了一个3 分数是0 -滚了一个4 分数是0 -滚了一个4 分数是0 干掉!祝你下次好运! 最终得分是:47分 -滚了一个6 分数是0 -滚了一个5 分数是0 -滚了一个6 分数是0 -滚了一个5 分数是0 -滚了一个6 分数是0 干掉!祝你下次好运! 最终成绩是:75分 -滚了一个3 分数是0 -滚了一个2 分数是0 -滚了一个6 分数是0 -滚了一个6 分数是0 -滚了一个4 分数是0 -滚了一个2 分数是0 干掉!祝你下次好运! 最终成绩是:98分 -滚了一个6 分数是0 -滚了一个4 分数是0 -滚了一个2 分数是0 -滚了一个3 分数是0 干掉!祝你下次好运! 最后的分数是:113

在你的else块中,更改

score+=dice_value

在循环中的任何一点上,你都不会增加turn_分数,因此while循环只有在滚动1并点击break语句时才会结束。此外,有了这条线,你就可以在轮换时增加得分,这是不应该发生的。

turn_score += dice_value