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()