Geocrack

random

Jun 19th, 2022 (edited)
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.53 KB | None | 0 0
  1. import random
  2. import math
  3.  
  4. def generate_hint_list(number):
  5.     hint_list = []
  6.     if number%2==0:
  7.         hint_list.append("number is even")
  8.     else:
  9.         hint_list.append("number is odd")
  10.     if math.sqrt(number)%2==0:
  11.         hint_list.append("number is a perfect square")
  12.     else:
  13.         hint_list.append("number cannot be a perfect square")  
  14.     return hint_list
  15.  
  16.  
  17. def choose_which_hint(hint_list,guess,number):
  18.     if len(hint_list)==0 or random.choice([True, False]):
  19.             if guess<number:
  20.                 return "your guess is too low"
  21.             else:
  22.                 return "your guess is too high"
  23.     value_chosen = hint_list.pop(random.randint(0,len(hint_list)-1))
  24.     return value_chosen
  25.  
  26. def right_number(number,guess):
  27.     if number==guess:
  28.         return True
  29.     return False
  30.  
  31.  
  32. def testmain35V2():
  33.     min_range = 1
  34.     max_range = 15
  35.     number_of_tries = 3
  36.     number = random.randint(min_range,max_range)
  37.     hint_list = generate_hint_list(number)
  38.     guess = int(input(f"Guess a number between {min_range} to {max_range}: "))
  39.    
  40.     for i in range(number_of_tries):
  41.         provided_hint= choose_which_hint(hint_list,guess,number)
  42.         if right_number(number,guess):
  43.             print ("You guessed the number correctly")
  44.             return
  45.         print("You have ", number_of_tries - i, "guesses left")
  46.         print(provided_hint)
  47.         guess = int(input("Guess another number: "))
  48.  
  49.     print("Sorry, you ran out of tries. The number was ", number)
  50.    
  51.  
  52. testmain35V2()
Advertisement
Add Comment
Please, Sign In to add comment