In python >>> play_nim(10) The goal is 10. Pick a number between 1 and 3 Current Score 0. Player 1 enter a number: 1 Current Score 1. Player 2 enter a number: 2 Current Score 3. Player 1 enter a number: 9 Invalid number, try again. Current Score 3. Player 1 enter a number: 1 Current Score 4. Player 2 enter a number: 3 Current Score 7. Player 1 enter a number: 3 1 >>> play_nim(4) The goal is 4. Pick a number between 1 and 3 Current Score 0. Player 1 enter a number: 3 Current Score 3. Player 2 enter a number: 3 2 >>> play_nim(21) The goal is 21. Pick a number between 1 and 3 Current Score 0. Player 1 enter a number: 0 Invalid number, try again. Current Score 0. Player 1 enter a number: -78 Invalid number, try again. Current Score 0. Player 1 enter a number: 3 Current Score 3. Player 2 enter a number: 2 Current Score 5. Player 1 enter a number: 1 Current Score 6. Player 2 enter a number: 3 Current Score 9. Player 1 enter a number: 2 Current Score 11. Player 2 enter a number: 3 Current Score 14. Player 1 enter a number: 3 Current Score 17. Player 2 enter a number: 1 Current Score 18. Player 1 enter a number: 2 Current Score 20. Player 2 enter a number: 3 2

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
In python >>> play_nim(10) The goal is 10. Pick a number between 1 and 3 Current Score 0. Player 1 enter a number: 1 Current Score 1. Player 2 enter a number: 2 Current Score 3. Player 1 enter a number: 9 Invalid number, try again. Current Score 3. Player 1 enter a number: 1 Current Score 4. Player 2 enter a number: 3 Current Score 7. Player 1 enter a number: 3 1 >>> play_nim(4) The goal is 4. Pick a number between 1 and 3 Current Score 0. Player 1 enter a number: 3 Current Score 3. Player 2 enter a number: 3 2 >>> play_nim(21) The goal is 21. Pick a number between 1 and 3 Current Score 0. Player 1 enter a number: 0 Invalid number, try again. Current Score 0. Player 1 enter a number: -78 Invalid number, try again. Current Score 0. Player 1 enter a number: 3 Current Score 3. Player 2 enter a number: 2 Current Score 5. Player 1 enter a number: 1 Current Score 6. Player 2 enter a number: 3 Current Score 9. Player 1 enter a number: 2 Current Score 11. Player 2 enter a number: 3 Current Score 14. Player 1 enter a number: 3 Current Score 17. Player 2 enter a number: 1 Current Score 18. Player 1 enter a number: 2 Current Score 20. Player 2 enter a number: 3 2
For this problem, you will be implementing a version of the mathematical strategy game Nim, said to have originated in China. You will write a function `play_nim(winning_number)` which will return either the integer 1 or 2, indicating whether player one or player two has won the game. `winning_number` will be an integer, representing the goal number.

When the function is called, a game of Nim will begin. Starting with zero, players one and two will be alternately prompted for a number between 1 and 3. The number that players input will be added to the current count. The player who causes the count to become equal to or greater than the `winning_number` wins. If player one wins, the integer 1 will be returned, and if player two wins, the integer 2 will be returned.

If a player enters a number that is not 1, 2, or 3, they will be re-prompted until they enter a valid number. The prompt format can be found in the example games below.
Transcribed Image Text:For this problem, you will be implementing a version of the mathematical strategy game Nim, said to have originated in China. You will write a function `play_nim(winning_number)` which will return either the integer 1 or 2, indicating whether player one or player two has won the game. `winning_number` will be an integer, representing the goal number. When the function is called, a game of Nim will begin. Starting with zero, players one and two will be alternately prompted for a number between 1 and 3. The number that players input will be added to the current count. The player who causes the count to become equal to or greater than the `winning_number` wins. If player one wins, the integer 1 will be returned, and if player two wins, the integer 2 will be returned. If a player enters a number that is not 1, 2, or 3, they will be re-prompted until they enter a valid number. The prompt format can be found in the example games below.
Certainly! Here is the transcription of the session, suitable for an educational website:

---

## Nim Game Session Transcript

The following is a transcript of a session of the game "Nim," where the goal is to reach a score of 21. Players take turns picking a number between 1 and 3. Invalid numbers result in a prompt to try again.

```plaintext
>>> play_nim(21)
The goal is 21. Pick a number between 1 and 3
Current Score 0. Player 1 enter a number: 0
Invalid number, try again.
Current Score 0. Player 1 enter a number: -78
Invalid number, try again.
Current Score 0. Player 1 enter a number: 3
Current Score 3. Player 2 enter a number: 2
Current Score 5. Player 1 enter a number: 1
Current Score 6. Player 2 enter a number: 3
Current Score 9. Player 1 enter a number: 2
Current Score 11. Player 2 enter a number: 3
Current Score 14. Player 1 enter a number: 3
Current Score 17. Player 2 enter a number: 1
Current Score 18. Player 1 enter a number: 2
Current Score 20. Player 2 enter a number: 3
```

### Explanation

1. **Invalid Entries:** Player 1 initially enters invalid numbers (0 and -78). The game prompts to enter a valid number between 1 and 3.

2. **Gameplay:** Player 1 starts with a valid entry of 3, and the score progresses as follows:
   - Player 1 picks 3, score becomes 3.
   - Player 2 picks 2, score becomes 5.
   - This pattern continues, with players taking turns until the goal of 21 is reached.

3. **Game Conclusion:** Player 2 enters 3 when the score is 20, reaching the goal of 21.

Understanding the rules and engaging in strategic planning can be crucial to winning the Nim game. Players should aim to force their opponent into a position where they cannot win.

---
Transcribed Image Text:Certainly! Here is the transcription of the session, suitable for an educational website: --- ## Nim Game Session Transcript The following is a transcript of a session of the game "Nim," where the goal is to reach a score of 21. Players take turns picking a number between 1 and 3. Invalid numbers result in a prompt to try again. ```plaintext >>> play_nim(21) The goal is 21. Pick a number between 1 and 3 Current Score 0. Player 1 enter a number: 0 Invalid number, try again. Current Score 0. Player 1 enter a number: -78 Invalid number, try again. Current Score 0. Player 1 enter a number: 3 Current Score 3. Player 2 enter a number: 2 Current Score 5. Player 1 enter a number: 1 Current Score 6. Player 2 enter a number: 3 Current Score 9. Player 1 enter a number: 2 Current Score 11. Player 2 enter a number: 3 Current Score 14. Player 1 enter a number: 3 Current Score 17. Player 2 enter a number: 1 Current Score 18. Player 1 enter a number: 2 Current Score 20. Player 2 enter a number: 3 ``` ### Explanation 1. **Invalid Entries:** Player 1 initially enters invalid numbers (0 and -78). The game prompts to enter a valid number between 1 and 3. 2. **Gameplay:** Player 1 starts with a valid entry of 3, and the score progresses as follows: - Player 1 picks 3, score becomes 3. - Player 2 picks 2, score becomes 5. - This pattern continues, with players taking turns until the goal of 21 is reached. 3. **Game Conclusion:** Player 2 enters 3 when the score is 20, reaching the goal of 21. Understanding the rules and engaging in strategic planning can be crucial to winning the Nim game. Players should aim to force their opponent into a position where they cannot win. ---
Expert Solution
Step 1

The python program is given below:

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Random Class and its operations
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education