Quick actions

cmd+k|ctrl+k

Navigation

Languages

test 28/5

Snippet info

Language

Python

Visibility

public

Author

tonyngswell

Created

2026-05-28T12:18:38.442753Z

Updated

2026-05-28T12:20:25.872439Z

print("Student Name: Ng Hoi Tong Tony")
import random

def generate_random_number():
    return random.randint(1, 100)

def get_valid_user_guess(lower, upper, round_count):
    while True:
        print(f"Count : {round_count}")
        user_input = input(f"Please input a number from {lower} to {upper}: ").strip()

        if not user_input:
            print("NO INPUT!!! Please input a number.\n")
            round_count += 1
            continue
          
        try:
            guess = int(user_input)
        except ValueError:
            print("INVALID INPUT!!! Please input a number.\n")
            round_count += 1
            continue
                
        if guess < lower or guess > upper:
            if lower == 1 and upper == 100:
                print(f"Please enter a number within the {lower} and {upper}.\n")
            else:
                print(f"Sorry, good try. The new range is {lower} and {upper}. Please try again!")
                print(f"Please enter a number between {lower} and {upper}. Try again!\n")
            
            round_count += 1
            continue
        else:
            return guess, round_count
            

def play_game():
    secret_number = generate_random_number()
    lower_bound = 1
    upper_bound = 100
    round_count = 1
    
    # Main game loop
    while True:
        guess, round_count = get_valid_user_guess(lower_bound, upper_bound, round_count)
        
        if guess == secret_number:
            print(f"\nšŸŽ‰ Congratulations!!! The correct answer is {secret_number}.")
            break
            
        elif guess < secret_number:
            print("Sorry, good try.")
            lower_bound = guess  
        else:
            print("Sorry, good try.")
            upper_bound = guess  
            
        print(f"New target range is now: {lower_bound} to {upper_bound}. Please try again!\n")
        round_count += 1

# Run the game
if __name__ == "__main__":
    play_game()
INFO