peterdcasey

MasterMind

Oct 30th, 2018
573
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.39 KB | None | 0 0
  1. import random
  2.  
  3. def guess():  #users pick
  4.     prompt = "Enter 4 letters, R,G,B, or W "
  5.     guess = input(prompt).upper()
  6.    
  7.     while not good_guess(guess):
  8.         print("Bad input, must be R,G,B, or W")
  9.         guess = input(prompt).upper()
  10.      
  11.     return guess
  12.  
  13. def good_guess(guess):
  14.     result = False
  15.     if len(guess) == 4:
  16.         result = True
  17.         for letter in guess:
  18.             if letter not in "RGBW":
  19.                 result = False
  20.        
  21.     return result
  22.  
  23. def look_for_exact(code, guess):
  24.     result = ""
  25.     new_code = ""
  26.     new_guess = ""
  27.     for i in range(4):
  28.         if code[i] == guess[i]:
  29.             result = result +  "C"
  30.         else:
  31.             new_code = new_code + code[i]
  32.             new_guess = new_guess + guess[i]
  33.            
  34.     return result, new_code, new_guess
  35.  
  36. def match_for_color(new_code, new_guess):
  37.     result = ""
  38.     new_code = ''.join(sorted(new_code))
  39.     new_guess = ''.join(sorted(new_guess))
  40.    
  41.     for i in range(len(new_code)):
  42.         if new_code[i] == new_guess[i]:
  43.             result = result + "B"
  44.        
  45.     return result
  46.  
  47. def hint(code, guess):
  48.     result, new_code, new_guess = look_for_exact(code, guess)
  49.     result = result + match_for_color(new_code, new_guess)
  50.     return result
  51.    
  52. def main():
  53.     code = "RGBW"
  54.     user_guess = guess()
  55.     print( hint(code, user_guess) )
  56.    
  57. main()
Add Comment
Please, Sign In to add comment