Generators are cool right?! Did you know you can send values into a generator by calling its send(value) method? Crazy right?
Let's do a little experiment: complete Rock-paper-scissors below, where
player_choicereceives the next value via
send, if q is entered raise a
So the game would work something like this (see all scenarios in the tests):>>> from rps import game >>> game = game() >>> next(game) Welcome to Rock Paper Scissors >>> game.send('rock') paper beats rock, you lose! >>> game.send('paper') paper beats rock, you win! >>> game.send('rock') tie! >>> game.send('q') Traceback (most recent call last): ... StopIteration
Pretty cool no? As this is an Advanced Bite we're not giving too much away. Good luck, have fun and and keep calm and code in Python!