Python程序,它模拟了一个完整的单人游戏“猪”,从总分为0开始,一轮接一轮地玩,直到达到100分
下面是一个示例输出: -滚了一个2 -滚了一个1 干掉! 转身得分=0 新总分=0 -滚了一个1 干掉! 转身得分=0 新总分=0 -滚了一个6 -滚了一个6 -滚了一个6 -滚了一个5 转身得分=23,依此类推 新总分=90分 -滚了一个6 -滚了一个6 -滚了一个3 转身得分=15分 新总分=105 下面是我如何解决这个问题的: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
` 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