# Python Guess the Number Game Project: Solutions and Explanations

Guess the Number Game:

Make a game where the computer generates a random number, and the player has to guess it.

**Input and Output values:**

**Input values:**

Player guesses the randomly generated number.

**Output value:**

Feedback on whether the guess is correct, too high, or too low. Repeat until the correct number is guessed.

**Example:**

Input values:

Enter your guess: 7

Output value:

Too low! Try again.

Input values:

Enter your guess: 12

Output value:

Too high! Try again.

Input values:

Enter your guess: 10

Output value:

Correct! You guessed the number.

Here are two different solutions for the "Guess the Number" game in Python. Both solutions will have the computer generate a random number, and the player will attempt to guess it until they are correct, with feedback provided for each guess.

**Solution 1: Basic Approach using a While loop **

**Code:**

```
# Solution 1: Basic Approach Using a While Loop
# Import the 'random' module to generate a random number
import random
# Generate a random number between 1 and 100 (inclusive)
secret_number = random.randint(1, 100)
# Initialize a variable to store the player's guess
guess = None
# Start a loop that continues until the correct guess is made
while guess != secret_number:
# Get the player's guess and convert it to an integer
guess = int(input("Enter your guess: "))
# Check if the guess is less than the secret number
if guess < secret_number:
print("Too low! Try again.")
# Check if the guess is greater than the secret number
elif guess > secret_number:
print("Too high! Try again.")
# If the guess is correct, congratulate the player
else:
print("Correct! You guessed the number.")
```

**Output:**

Enter your guess: 12 Too low! Try again. Enter your guess: 19 Too low! Try again. Enter your guess: 50 Too high! Try again. Enter your guess: 35 Too low! Try again. Enter your guess: 45 Too high! Try again. Enter your guess: 40 Too low! Try again. Enter your guess: 42 Too low! Try again. Enter your guess: 43 Too low! Try again. Enter your guess: 44 Correct! You guessed the number.

**Explanation:**

- Uses a while loop to repeatedly prompt the player for their guess until they guess correctly.
- The random.randint(1, 100) function generates a random number between 1 and 100.
- After each guess, the program checks if the guess is too low, too high, or correct and provides appropriate feedback.
- This approach is simple and effective, using a loop for repeated guesses.

**Solution 2: Using a Function and Recursion**

**Code:**

```
# Solution 2: Using a Function and Recursion
# Import the 'random' module to generate a random number
import random
# Generate a random number between 1 and 100 (inclusive)
secret_number = random.randint(1, 100)
# Define a function to handle the guessing logic
def guess_number():
"""Recursive function to guess the number."""
# Get the player's guess and convert it to an integer
guess = int(input("Enter your guess: "))
# Check if the guess is less than the secret number
if guess < secret_number:
print("Too low! Try again.")
# Call the function recursively to ask for another guess
guess_number()
# Check if the guess is greater than the secret number
elif guess > secret_number:
print("Too high! Try again.")
# Call the function recursively to ask for another guess
guess_number()
# If the guess is correct, congratulate the player
else:
print("Correct! You guessed the number.")
# Start the guessing game by calling the function
guess_number()
```

Output:

Enter your guess: 20 Too low! Try again. Enter your guess: 30 Too high! Try again. Enter your guess: 25 Too high! Try again. Enter your guess: 22 Too high! Try again. Enter your guess: 21 Correct! You guessed the number.

**Explanation:**

- Uses a recursive function guess_number() to handle the guessing logic.
- The function calls itself recursively after each guess if the guess is incorrect (either too low or too high).
- If the guess is correct, the function prints a congratulatory message and stops further recursion.
- This approach demonstrates the use of recursion to achieve the same outcome, providing a different way to handle repeated prompts.

**Note:**Both solutions achieve the desired outcome of a "Guess the Number" game, with Solution 1 using a loop-based approach and Solution 2 using recursion to repeatedly ask for the player's guess. The recursive approach may be less efficient for large numbers of guesses due to potential stack overflow. However, it demonstrates a different way of structuring program logic.

**Weekly Trends and Language Statistics**- Weekly Trends and Language Statistics