Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from random import randint
- class Stack:
- def __init__(self):
- self.items = []
- def isEmpty(self):
- return self.items == []
- def push(self, item):
- self.items.append(item)
- def pop(self):
- return self.items.pop()
- def peek(self):
- return self.items[len(self.items)-1]
- def size(self):
- return len(self.items)
- Player = Stack()
- Computer = Stack()
- Middle = Stack()
- for i in range(10):
- Player.push(randint(1,30))
- Computer.push(randint(1,30))
- Middle.push(randint(5,15))
- def war(Player, Computer, Middle):
- return warHelper(Player, Computer, Middle, Player.size(), Computer.size(), 0)
- def warHelper(Player, Computer, Middle, sizeP, sizeC, n):
- if sizeP > 0 and sizeC > 0:
- temp1 = Player.peek()
- temp2 = Computer.peek()
- Middle.push(Player.pop())
- Middle.push(Computer.pop())
- if temp1 > temp2:
- for i in range(3):
- if Middle.size() == 0:
- break
- Player.push(Middle.pop())
- #print("Player won round", n)
- elif temp1 < temp2:
- for i in range(3):
- if Middle.size() == 0:
- break
- Computer.push(Middle.pop())
- #print("Computer won round", n)
- return warHelper(Player, Computer, Middle, Player.size(), Computer.size(), n+1)
- else:
- return n
- n = war(Player, Computer, Middle)
- if Player.size() > Computer.size():
- print("Player won in", n, "rounds.")
- else:
- print("Computer won in", n, "rounds.")
Add Comment
Please, Sign In to add comment