Guest User

Untitled

a guest
Feb 20th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. from random import randint
  2. class Stack:
  3. def __init__(self):
  4. self.items = []
  5.  
  6. def isEmpty(self):
  7. return self.items == []
  8.  
  9. def push(self, item):
  10. self.items.append(item)
  11.  
  12. def pop(self):
  13. return self.items.pop()
  14.  
  15. def peek(self):
  16. return self.items[len(self.items)-1]
  17.  
  18. def size(self):
  19. return len(self.items)
  20.  
  21. Player = Stack()
  22. Computer = Stack()
  23. Middle = Stack()
  24. for i in range(10):
  25. Player.push(randint(1,30))
  26. Computer.push(randint(1,30))
  27. Middle.push(randint(5,15))
  28.  
  29. def war(Player, Computer, Middle):
  30. return warHelper(Player, Computer, Middle, Player.size(), Computer.size(), 0)
  31.  
  32. def warHelper(Player, Computer, Middle, sizeP, sizeC, n):
  33. if sizeP > 0 and sizeC > 0:
  34. temp1 = Player.peek()
  35. temp2 = Computer.peek()
  36. Middle.push(Player.pop())
  37. Middle.push(Computer.pop())
  38. if temp1 > temp2:
  39. for i in range(3):
  40. if Middle.size() == 0:
  41. break
  42. Player.push(Middle.pop())
  43. #print("Player won round", n)
  44. elif temp1 < temp2:
  45. for i in range(3):
  46. if Middle.size() == 0:
  47. break
  48. Computer.push(Middle.pop())
  49. #print("Computer won round", n)
  50. return warHelper(Player, Computer, Middle, Player.size(), Computer.size(), n+1)
  51. else:
  52. return n
  53.  
  54. n = war(Player, Computer, Middle)
  55.  
  56. if Player.size() > Computer.size():
  57. print("Player won in", n, "rounds.")
  58. else:
  59. print("Computer won in", n, "rounds.")
Add Comment
Please, Sign In to add comment