# Week III ## Review: Magic 8-Ball - [ ] Library use - [ ] Random ## I: Dog Years - [ ] Conversion - [ ] Main ``` function(variable) tmp_1=variable tmp_2=variable <- goes to function space ``` # Stroop Effect ## What do we want to do? - [ ] Time people on their responses - [ ] Control - [ ] Cycle through pairs (pink,pink) (blue,blue) - [ ] Experiment - [ ] Cycle through COLORS and a random label (pink,*) - [ ] Prevent repitition ## What do we need? - [ ] Timer - [x] Colors - [x] Random - [ ] LOOP - [ ] For -> start_time + 10, then stop - [ ] X=start_time+10 - [ ] While - [ ] time.now-start_time < 10 - [ ] IF - Time thing which gives the number of seconds since epoch `help(function)` ## Analysis of Boilerplate ```python import random import time from colorama import init # Same as using colorama.init() from termcolor import colored init(autoreset=True) ``` ## Lists - Can be heterogenous - Use `type` when in doubt - Goes from 0 to N-1 (for a list of N elements) - Access with `X[N]` ## Random Choices ```python x[random.randint(0,len(x)-1)] # is the same as random.choice(x) ``` ## Given - [ ] Something to print with - [ ] Something to choose strings out of # Solution ```python import random import time from colorama import init from termcolor import colored init(autoreset=True) # actually is colorama.init MAX_TIME=2 def main(): print_intro() start_time=time.time() correct=0 incorrect=0 while time.time() - start_time < MAX_TIME: a=random_color_name() b=random_color_name() print_in_color(a,b) ans=(a==b) trial=input("Press a key based on the instructions: ") if trial=='t' and ans: print(ans) correct=correct+1 elif trial!='t' and not ans: print(ans) correct=correct+1 else: print(ans) incorrect=incorrect+1 print("You got ",correct," correct answers") print("You got ",incorrect, "incorrect answers") # Your solution goes here def print_intro(): ''' Function: print intro Prints a simple welcome message ''' print('This is the Stroop test! Name the font-color used:') print_in_color('red', 'red') print_in_color('blue', 'blue') print_in_color('pink', 'pink') print("If the color is the same as the meaning of the word, press t") def random_color_name(): ''' Function: random color Returns a string (either red, blue or pink) with equal likelihood ''' return random.choice(['red', 'blue', 'pink']) def print_in_color(text, font_color): ''' Function: print in color Just like "print" but this time, you can specify the font-color ''' if font_color == 'pink': # magenta is a lot to type... font_color = 'magenta' print(colored(text, font_color, attrs=['bold'])) if __name__ == '__main__': main() ```