Skip to content

Instantly share code, notes, and snippets.

@ynonp
Created July 27, 2023 14:02
Show Gist options
  • Save ynonp/bf1046508741051074bf37ce94dcf46c to your computer and use it in GitHub Desktop.
Save ynonp/bf1046508741051074bf37ce94dcf46c to your computer and use it in GitHub Desktop.
generator-send-part1
import random
import sys
from typing import NewType
BPResult = tuple[int, int]
BPNumber = NewType('BPNumber', int)
ALL_OPTIONS = [n for n in range(1000, 99999) if len(str(n)) == len(set(str(n)))]
def guesses():
possible_options = iter(ALL_OPTIONS)
yield from possible_options
def check_guess(secret_number: BPNumber, user_guess: BPNumber) -> BPResult:
return (0, 0)
def create_secret_number() -> BPNumber:
return BPNumber(random.choice(list(ALL_OPTIONS)))
g = guesses()
secret = create_secret_number()
for i in range(7):
guess = next(g)
print(f"Trying {guess}")
bulls, cows = check_guess(secret, g)
print(f"Got {bulls} bulls and {cows} cows")
if bulls == 5:
print("Bravo!")
sys.exit(0)
print("Better luck next time")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment