Question: Please use python as a programming language for this exercise. Use as simple code as possible. Exercise 3 The game of Nims/Stones In this game,
Please use python as a programming language for this exercise. Use as simple code as possible.
Exercise 3 The game of Nims/Stones
In this game, two players sit in front of a pile of 100 stones. They take turns, each removing between 1 and 5 stones(assuming there are at least 5 stones left in the pile). The person who removes the last stone(s) wins.
In this problem, youll write a function to play this game; weve outlined it for you. It may seem tricky, so break it down into parts. Like many programs, we have to use nested loops (one loop inside another). In the outermost loop, we want to keep playing until we are out of stones. Inside that, we want to keep alternating players. You have the option of either writing t wo blocks of code, or keeping a variable that tracks the current player. The second way could be slightly trickier, but its definitely do-able!
Finally, we might want to have an innermost loop that checks if the users input is valid. Is it a number? Is it a valid number (e.g. between 1 and 5)? Are there enough stones in the pile to takeoff this many? If any of these answers are no, we should tell the user and re-ask them the question.
If you choose to write two blocks of code, the basic outline of the program should be something like this:

Be careful with the validity checks. Specifically, we want to keep asking player 1 for their choice as long as their answer is not valid, BUT we want to make sure we ask them at least ONCE. So, for example, we will want to keep a variable that tracks whether their answer is valid, and set it to False initially.
Please reference below to complete the exercise and should look something like this.
def play_nims(pile, max_stones):
'''
An interactive two-person game; also known as Stones.
@param pile: the number of stones in the pile to start
@param max_stones: the maximum number of stones you can take on one turn
'''
## Basic structure of program (feel free to alter as you please):
# while [pile is not empty]:
# while [player 1's answer is not valid]:
# [ask player 1]
# [execute player 1's move]#
# while [player 2's answer is not valid]:
# [ask player 2]
# [execute player 2's move]
## print "Game over"
while (pile is not empty]: while [player l's answer is not valid]: [ask player 1] [execute player 1's move] (same as above for player 2]
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
