<jupyter_start><jupyter_text>CMPSC 100: <NAME> and the Catnap Caper![Ulysses 4 t3h fanz](https://cs.allegheny.edu/sites/dluman/cmpsc100/img/ulysses-4-teh-fanz.jpg)The work this week also offers the opportunity to tie up the server in loopish operations. Should you be unable to run cells, simply locate the Kernel menu at the top of the screen and click Interrupt Kernel. This should jumpstart the kernel again and clear out the infinite loop behavior. Overview---Someone(s) tried to catnap my cat, Ulysses!Hearing about <NAME>'s crystal ball (somebody in class must've let their secret slip!), authorities of the global Animal Kingdom have called in our magical reptile friend to help predict all of the various scenarios that could occur once they begin interrogation of the two Human catnappers, Bob and Alice. Of course, there's some nice money in it for G. Wiz's hat collection.After consulting with <NAME> to work out the possibilities, the detectives have narrowed down the following possibilities:| Alice's choice | Bob's choice | Alice's sentence | Bob's sentence ||----------------|--------------|------------------|----------------|| Spill it       | Clam up      | 0 years          | 3 years        || Stand tall     | Fink         | 3 years          | 0 years        || Tattle         | Finger-point | 2 years          | 2 years        || Cool as a cucumber | Shuts it | 1 year           | 1 year         |It is up to you to write a program to simulate all the various ways that their interrogation could go, and the corresponding outcomes.Tips:            You will use all of the skills we've gained over the last week to accomplish this goal        You will "nest" if statements inside your loop        The program will be more efficient if you use numeric variables to keep track of the various sentences that each catnapper recieves.      Sample output```Does Alice defect? [Y]es/[N]o: NAlice stays quiet.Does Bob defect? [Y]es/[N]o: YBob defects!Alice recieves 3 year(s).Bob recieves 0 year(s).Try another scenario? [Y]es/[N]o:```  General guidelines for laboratory sessions---* Follow steps carefully. Laboratory sessions often get a bit more complicated than their preceeding Practical sessions. Especially for early sessions which expose you to platforms with which you may not be familiar, take notes on commands you run and their corresponding effects/outputs. If you find yourself stuck on a step, let a TL or the professor know! Laboratory sessions do not mean that we won't help you in the same way we do during Practicals.* Regularly ask and answer questions. Some of you may have more experience with the topics we're discussing than others. We can use this knowledge to our advantage. But, like in Practicals, let students try things for a while before offering help (always offer first). To ask questions, use our Slack's labs channel.* Store and transfer files using GitHub. Various forms of file storage are more or less volatile. You are responsible for backing up and storing files. If you're unsure of files which have been changed, you can always type git status in the terminal for your working folder to determine what you need to back up.* Keep all of your files. See above, but also remember that you're responsible for the files you create.* Back up your files regularly. See above (and above-above).* Review the Honor Code regularly when working. If you're taking a solution from another student or the Internet at-large (especially Stack Overflow), bear in mind that using these solutions can constitute a form of plagiarism that violates the Allegheny Honor Code. While it may seem easy and convenient to use these sources, it is equally easy and convenient to rely on them and create bad habits which include not attributing credit or relying exclusively on others to solve issues. Neither are productive uses of your intellect. Really.  Requirements--- This notebookYour program should:* use a single `while` loop to test if the user wants to run another scenario   * This should use the prompt question `Try another scenario? [Y]es/[N]o:`* take input for Alice's choice with a well-labeled prompt for the user  * Store this as `alice_choice`* take input for Bob's choice with a well-labeled prompt for the user  * Store this as `bob_choice`* use an `if` statement to display the result of the user's choice (e.g. `Alice stays quiet.` or `Alice defects!`)* use a separate `if` statement to control for all four (4) possible outcomes* use `print()` statements to display the sentences reserved for either of the crooks* store the number of years each catnapper is sentenced to using the following variables:  * `alice_years` for Alice's sentence  * `bob_years` for Bob's sentence* Creates the correct output for all scenarios' inputs (see the "truth table" up above) `reflection.md`* At least 300 words* Responds to all questions* Contains `0` `TODO` markers  Code space<jupyter_code>alice_years = 0      # Use to track the overall sentence received for their heinous attempted crime on my cat
bob_years = 0

another = None       # Use to track the reponse to the "Try another scenario?" prompt
alice_choice = None  # Use to track Alice's choices
bob_choice = None    # Use to track Bob's choices<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.06678049705938152, 'fraction_numerical': 0.0049326503509770445, 'mean_word_length': 3.8014571948998177, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '531475', 'license': 'CC-BY-4.0', 'n_tokens_mistral': 1342, 'n_tokens_neox': 1232, 'n_words': 780, 'path': 'lab/Week 02 - Lab - The Catnap Caper.ipynb', 'repo_name': 'allegheny-college-cmpsc-100-fall-2020/cmpsc-100-fall-2020-week-02-more-python-basics', 'size': '5271'}