如何将两个定义的功能重复5次?蟒蛇

时间:2019-10-09 11:01:14

标签: python loops

我需要让两个定义的程序重复5次 这是我的成功标准: 该程序将允许每个玩家掷出两个6面骰子 该程序将计算并输出每个回合的点数,以得出球员的总成绩 该程序将允许玩家玩5回合 该程序将允许每个玩家每轮掷1个骰子,直到有人赢得胜利(如果双方在5轮后得分均相同) 程序将输出在5轮比赛中获胜的人 该程序可以让玩家掷出额外的骰子,如果掷出两倍的骰子,可以获得掷出的分数 该程序将不允许分数在任何时候低于0

import random

def player_one():

  global score1
  print("Player One is up first")
  roll = str(input("Please enter ROLL to roll the dice >")).upper()
  num1 = random.randint(1,6)
  num2 = random.randint(1,6)
  if roll == "ROLL":
    showscore1 = print("You rolled a",num1,"and a",num2)
  else:
    exit()
  score1 = num1 + num2
  if (score1 % 2) == 0:  
    score1 = score1 + 10
  else:
    score1 = score1 - 5
  if score1 < 0:
    score1 = 0
  else:
    score1 = score1
  print("Your score was",score1)
  return score1
player_one()

import time
time.sleep(3)

def player_two():
  global score2
  print("Player Two is up first")
  roll = str(input("Please enter ROLL to roll the dice >")).upper()
  num1 = random.randint(1,6)
  num2 = random.randint(1,6)
  if roll == "ROLL":
    showscore1 = print("You rolled a",num1,"and a",num2)
  else:
    exit()
  score2 = num1 + num2
  if (score2 % 2) == 0:  
    score2 = score2 + 10
  else:
    score2 = score2 - 5
  if score2 < 0:
    score2 = 0
  else:
    score2 = score2
  print("Your score was",score2)
  return score2
player_two()

time.sleep(2)

if score1 > score2:
  print("Player One has won the game!")
else:
  print("Player Two has won the game!")

不是必需的,但是如果您可以在程序中添加更多成功标准,将会很有帮助,但是现在我真的在寻找循环。谢谢

其他成功标准是: 该程序将允许每个玩家每轮掷1个骰子,直到有人赢得胜利(如果双方在5轮后得分均相同) 程序将输出在5轮比赛中获胜的人 该程序将使玩家掷出额外的骰子,如果他们掷出两倍,则获得掷出的分数加到他们的分数中

1 个答案:

答案 0 :(得分:0)

如果您使用

for x in range(0,5):
    function()

该功能将运行5次。另外,使用global是不正确的做法。您应该从函数返回值并将它们分配给变量。我最近也遇到了同样的挑战,这是我的解决方案:https://pastebin.com/Zc1nj0Mi