import random
import math
from sre_compile import isstring
from turtle import pd
from unicodedata import name

affirmative = ['yes', 'Yes', 'yeah', 'Yeah', 'yup', 'Yup', 'y', 'Y', 'yea', 'Yea', 'mhm', 'Mhm', 'yep', 'Yep', 'Affirmative,' 'affirmative', 'sure', 'Sure', 'alright', 'Alright', 'okay', 'Okay', 'OK', 'ok', 'Ok']
negative = ['No', 'no', 'Nope', 'nope', 'N', 'n', 'Nah', 'nah', 'nuh-uh', 'Nuh-uh', 'negative', 'Negative']

lucky = random.randint(1,10)
score = 0
global mcheckval
mcheckval = 15
global fcheckval
fcheckval = 8
tickedoff = 0
narcissim = 0
global youloseidiot
youloseidiot = 0

def retry():
    global tickedoff
    tickedoff += 1
    if tickedoff >= 99:
        print("You're impressively insolent.")
        global youloseidiot
        youloseidiot = 1
    elif tickedoff >= 9:
        print("How is it even possible to be such a screw-up? Err, ehem...")
    elif tickedoff >= 4:
        print("You're on thin ice, bucko...")
    if quesval == 1:
        question1()
    elif quesval == 2:
        question2()
    elif quesval == 3:
        question3()
    elif quesval == 4:
        question4()
    elif quesval == 5:
        question5()
    elif quesval == 6:
        question6()
    elif quesval == 7:
        question7()
    elif quesval == 8:
        question8()
    elif quesval == 9:
        question9()
    elif quesval == 10:
        question10()
    elif quesval == 11:
        question11()
    elif quesval == 12:
        question12()
    elif quesval == 13:
        question13()
    elif quesval == 14:
        question14()
    elif quesval == 15:
        question15()
    else:
        print("You must've REALLY messed something up to see this...")

def fr_invalretry(realmsg):
    try:
        val = int(realmsg)
    except ValueError:
        print("What part of numeric value do you not unerstand?")
        retry()
        return
    if "." in realmsg:
        print("No decimals, please! Redo!")
        retry()
        return
    if "A" in realmsg or "a" in realmsg or "B" in realmsg or "b" in realmsg or "C" in realmsg or "c" in realmsg or "D" in realmsg or "d" in realmsg or "E" in realmsg or "e" in realmsg or "F" in realmsg or "f" in realmsg or "G" in realmsg or "g" in realmsg or "H" in realmsg or "h" in realmsg or "I" in realmsg or "i" in realmsg or "J" in realmsg or "j" in realmsg or "K" in realmsg or "k" in realmsg or "L" in realmsg or "l" in realmsg or "M" in realmsg or "m" in realmsg or "N" in realmsg or "n" in realmsg or "O" in realmsg or "o" in realmsg or "P" in realmsg or "p" in realmsg or "Q" in realmsg or "q" in realmsg or "R" in realmsg or "r" in realmsg or "S" in realmsg or "s" in realmsg or "T" in realmsg or "t" in realmsg or "U" in realmsg or "u" in realmsg or "V" in realmsg or "v" in realmsg or "W" in realmsg or "w" in realmsg or "X" in realmsg or "x" in realmsg or "y" in realmsg or "y" in realmsg or "Z" in realmsg or "z" in realmsg:
        print("I said a numeric value! Like at the top of your keyboard! Redo!")
        retry()
        return
    else:
        return

mc_select = list(range(0,15))
random.shuffle(mc_select)
fr_select = list(range(0,9))
random.shuffle(fr_select)

vowels = ["a", "e", "i", "o", "u"]
vowiable = random.randint(0,4)
randv = vowels[int(vowiable)]

def nameselect():
    print("Welcome to a deeply important survey!\nIt will consist of 15 questions, 10 multiple choice and five free response.\nIt should be easy. Be sure to answer one of the provided options for multiple choice questions.\nPut whatever you want for open-ended questions, but answer honestly!")
    print("Before we begin, what is your first name?")
    global nmae
    nmae = input()
    global name
    name = nmae.capitalize()
    print(name + "...")
    if name == "Drew":
        print("You should know you're not supposed to take this quiz!\nI guess you might as well test it.")
    elif name == "Kendall":
        print("Off to a very good start...")
    elif name == "Benji":
        print("I don't think this quiz is for you...")
    elif "1" in nmae or "2" in nmae or "3" in nmae or "4" in nmae or "5" in nmae or "6" in nmae or "7" in nmae or "8" in nmae or "9" in nmae or "0" in nmae:
        print("Real people don't have numbers in their names! Try again...\n\n-----\n")
        nameselect()
    else:
        print(name + "? Eh, could've been better.")

def mc_question():
    global msg
    msg = input()
    global realmsg
    realmsg = msg.capitalize()
    print("You chose option '" + realmsg + ".'")

def fr_question():
    global msg
    msg = input()
    global realmsg
    realmsg = msg.capitalize()
    print(realmsg + ", huh...?")

def mc_check():
    if mcheckval == 0:
        if realmsg == "A" or realmsg == "1":
            print("A little clumsy here and there, but a classic!")
            return 90
        elif realmsg == "B" or realmsg == "2":
            print("They really found their sea legs by then! Good to hear.")
            return 100
        elif realmsg == "C" or realmsg == "3":
            print("Gotta love the end of the Golden Era...")
            return 100
        elif realmsg == "D" or realmsg == "4":
            print("I guess the first little bit was solid, but...'The Gift of Gum'?")
            return 80
        elif realmsg == "E" or realmsg == "5":
            print("You must be nostalgic for it...right? I hope...")
            return 40
        elif realmsg == "F" or realmsg == "6":
            print("You must be nostalgic for it...right? I hope...")
            return 50
        elif realmsg == "G" or realmsg == "7":
            print("You must be nostalgic for it...right? I hope...")
            return 50
        elif realmsg == "H" or realmsg == "8":
            print("Getting there, I guess...still a lot of duds.")
            return 60
        elif realmsg == "I" or realmsg == "9":
            print("Yes, the revival! Points for precision! Well done.")
            return 100
        elif realmsg == "J" or realmsg == "10":
            print("Yeesh...")
            return 10
        elif realmsg == "K" or realmsg == "11":
            print("I'm glad you can find enjoyment in it.")
            return 15
        elif realmsg == "L" or realmsg == "12":
            print("I'm glad you can find enjoyment in it.")
            return 20
        elif realmsg == "M" or realmsg == "13":
            print("I've hardly seen any of it but I can tell this is...a take.")
            return 30
        else:
            print("That's an invalid response! Make sure to pick one of the letters.")
            retry()
            return 0
    elif mcheckval == 1:
        if realmsg == "A" or realmsg == "Math":
            print("Math can be a confusing to SUM, but improvement is a SINE of effort.")
            return 40
        elif realmsg == "B" or realmsg == "Science":
            print("For a set of laws that govern life, science can be pretty inconsistent...")
            return 100
        elif realmsg == "C" or realmsg == "English":
            print("I mean, you've been speaking it this whole survey!\nIt must not be THAT bad.")
            return 30
        elif realmsg == "D" or realmsg == "History":
            print("Sometimes, it's like reading fiction. Ever heard of the Latter Day Jig?")
            return 50
        elif realmsg == "E" or realmsg == "PE":
            print("Hardly seems like a subject in the first place...")
            return 60
        elif realmsg == "F" or realmsg == "Music/Fine Arts":
            print("Well, if you don't like one fine art, there are plenty more out there!")
            return 30
        else:
            print("That's an invalid response! Make sure to pick one of the letters.")
            retry()
            return 0
    elif mcheckval == 2:
        if realmsg == "A" or realmsg == "Generation 5":
            print("Maybe a design dud here and there, but Unova's story holds strong.")
            return 10
        elif realmsg == "B" or realmsg == "Generation 6":
            print("With the EXP share on, that question must've been easy for you!")
            return 50
        elif realmsg == "C" or realmsg == "Generation 7":
            print("Were the cutscenes really that unbearable?")
            return 30
        elif realmsg == "D" or realmsg == "Generation 8":
            print("The box legendary is a dog with a sword in its mouth.")
            return 100
        else:
            print("That's an invalid response! Make sure to pick one of the letters.")
            retry()
            return 0
    elif mcheckval == 3:
        if realmsg == "A" or realmsg == "Vanilla":
            print("Daring today, aren't we?")
            return 30
        elif realmsg == "B" or realmsg == "Chocolate":
            print("A classic.")
            return 70
        elif realmsg == "C" or realmsg == "Strawberry":
            print("Like strawberry milk but better!")
            return 90
        elif realmsg == "D" or realmsg == "Rainbow Sherbet":
            print("A surprisingly good mix of flavors.")
            return 70
        elif realmsg == "E" or realmsg == "Mint Chocolate Chip":
            print("Sometimes, it just hits the spot.")
            return 80
        elif realmsg == "F" or realmsg == "Cookies and Cream":
            print("But cookies ain't ice cream...")
            return 60
        elif realmsg == "G" or realmsg == "Cotton Candy":
            print("So underrated!")
            return 100
        elif realmsg == "H" or realmsg == "Watermelon":
            print("Only the enlightened few...")
            return 100
        elif realmsg == "I" or realmsg == "Pralines and Cream":
            print("Mom?")
            return 20
        elif realmsg == "J" or realmsg == "Reese's Peanut Butter Cup":
            print("I can already feel the life leaving me.")
            return 10
        else:
            print("That's an invalid response! Make sure to pick one of the letters.")
            retry()
            return 0
    elif mcheckval == 4:
        if realmsg == "A" or realmsg == "Pop":
            print("I guess that's why it's called pop.")
            return 60
        elif realmsg == "B" or realmsg == "Rock":
            print("Put another dime in the jukebox, baby!")
            return 100
        elif realmsg == "C" or realmsg == "Country":
            print("In controlled circumstances...")
            return 25
        elif realmsg == "D" or realmsg == "Punk/Ska":
            print("Respectable.")
            return 85
        elif realmsg == "E" or realmsg == "Jazz":
            print("So groovy.")
            return 90
        elif realmsg == "F" or realmsg == "Classical":
            print("What year is it?")
            return 70
        elif realmsg == "G" or realmsg == "Lo-Fi":
            print("ZZZzzz...")
            return 50
        elif realmsg == "H" or realmsg == "Movie/Game Soundtracks":
            print("It takes a real musical ear to appreciate it.")
            return 100
        elif realmsg == "I" or realmsg == "K-Pop":
            print("Okay...")
            return 10
        else:
            print("That's an invalid response! Make sure to pick one of the letters.")
            retry()
            return 0
    elif mcheckval == 5:
        if realmsg == "A" or realmsg == "Red":
            print("Something about it feels classic. And bloody.")
            return 80
        elif realmsg == "B" or realmsg == "Orange":
            print("Orange you glad you didn't say...never mind.")
            return 80
        elif realmsg == "C" or realmsg == "Yellow":
            print("A very happy color. I like it.")
            return 80
        elif realmsg == "D" or realmsg == "Green":
            print("Do you keep green things in your pocket protector?")
            return 30
        elif realmsg == "E" or realmsg == "Blue":
            print("Daring today, aren't we? Whoops, I referenced it again.")
            return 70
        elif realmsg == "F" or realmsg == "Purple":
            print("Like royalty...")
            return 100
        elif realmsg == "G" or realmsg == "Brown":
            print("Rustic and natural...it has its appeal.")
            return 70
        elif realmsg == "H" or realmsg == "Black":
            print("A Rolling Stones fan, eh?")
            return 60
        elif realmsg == "I" or realmsg == "Pink":
            print("Kendall couldn't think of a pink pun. Moving on!")
            return 70
        elif realmsg == "J" or realmsg == "White":
            print("Sleek and minimalistic with infinite possibilities.")
            return 90
        elif realmsg == "K" or realmsg == "Clear":
            print("What do you mean it's not a color? How close-minded.")
            return 100
        else:
            print("That's an invalid response! Make sure to pick one of the letters.")
            retry()
            return 0
    elif mcheckval == 6:
        if realmsg == "A" or realmsg == "Action":
            print("*Explosion* *Laser* *Michael Bay*")
            return 60
        elif realmsg == "B" or realmsg == "Comedy":
            print("Funny movies are always the ones that stick with me.")
            return 100
        elif realmsg == "C" or realmsg == "Horror":
            print("Psych-horror is interesting, but jumpscares SCREAM lazy.")
            return 20
        elif realmsg == "D" or realmsg == "Rom-com":
            print("I wish she'd watch one with me sometime...")
            return 100
        elif realmsg == "E" or realmsg == "Drama":
            print("A deep moral dilemma always gets me invested.")
            return 50
        elif realmsg == "F" or realmsg == "Musical":
            print("Wait, aren't there different genres of musicals?\nEh, somehow we'll work this out.")
            return 100
        else:
            print("That's an invalid response! Make sure to pick one of the letters.")
            retry()
            return 0
    elif mcheckval == 7:
        if realmsg == "A" or realmsg == "Appearance":
            print("Well, at least you're honest.")
            return 20
        elif realmsg == "B" or realmsg == "Personality":
            print("Yeah, I like big personalities too.")
            return 90
        elif realmsg == "C" or realmsg == "Intelligence":
            print("I get the feeling your intelligence front is deceiving...")
            return 70
        elif realmsg == "D" or realmsg == "Values":
            print("So important, yet so sorely ignored.")
            return 100
        elif realmsg == "E" or realmsg == "All of the above":
            print("In the search for a true soulmate, I see...")
            return 100
        else:
            print("That's an invalid response! Make sure to pick one of the letters.")
            retry()
            return 0
    elif mcheckval == 8:
        if realmsg == "A" or realmsg == "Definitely":
            print("Try not to get into TOO much trouble...")
            return 70
        elif realmsg == "B" or realmsg == "Maybe":
            print("Circumstances are important.")
            return 80
        elif realmsg == "C" or realmsg == "Probably not":
            print("Somtimes, it's best not to deal with strangers.")
            return 90
        elif realmsg == "D" or realmsg == "Definitely not":
            print("An invertebrate? In MY survey?")
            return 80
        elif realmsg == "E" or realmsg == "I'd ask my date to confront him":
            print("Bold of you to assume you went with a date.")
            return 100
        else:
            print("That's an invalid response! Make sure to pick one of the letters.")
            retry()
            return 0
    elif mcheckval == 9:
        if realmsg == "A" or realmsg == "Dog":
            print("The vanilla woof-woof solution.")
            return 80
        elif realmsg == "B" or realmsg == "Cat":
            print("Chill little guys with empty heads. Great pets.")
            return 100
        elif realmsg == "C" or realmsg == "Fish":
            print("Blub. Simple life.")
            return 90
        elif realmsg == "D" or realmsg == "Hampster/Guinea Pig":
            print("I mean, I've never seen a dog on an infinitely-spinning wheel.")
            return 80
        elif realmsg == "E" or realmsg == "Bunny":
            print("It's like Easter every day.")
            return 90
        elif realmsg == "F" or realmsg == "Giraffe":
            print("He would stay in the backyard, unconditionally loved.")
            return 100
        else:
            print("That's an invalid response! Make sure to pick one of the letters.")
            retry()
            return 0
    elif mcheckval == 10:
        if realmsg == "A" or realmsg == "Once a day":
            print("Perfectly reasonable.")
            return 100
        elif realmsg == "B" or realmsg == "More than once per day":
            print("A bit overkill, but the spirit is admirable.")
            return 100
        elif realmsg == "C" or realmsg == "Once every other day":
            print("A lot accumulated over two days...")
            return 75
        elif realmsg == "D" or realmsg == "Once a week":
            print("I sure hope that's a cultural thing or something...")
            return 30
        elif realmsg == "E" or realmsg == "What is a shower?":
            print("I appreciate the honesty.\nA shower is a structure found in home bathrooms. They are used to clean...")
            return 60
        else:
            print("That's an invalid response! Make sure to pick one of the letters.")
            retry()
            return 0
    elif mcheckval == 11:
        if realmsg == "A" or realmsg == "Vanilla":
            print("Daring today, aren't...I did it again.")
            return 50
        elif realmsg == "B" or realmsg == "Chocolate":
            print("The ice cream classic...milkshake-ified.")
            return 80
        elif realmsg == "C" or realmsg == "Strawberry":
            print("Smooth, sweet and delicious.")
            return 100
        elif realmsg == "D" or realmsg == "Oreo/Cookies & Cream":
            print("What kind of cookies? And pure cream?")
            return 75
        else:
            print("That's an invalid response! Make sure to pick one of the letters.")
            retry()
            return 0
    elif mcheckval == 12:
        if realmsg == "A" or realmsg == "Sweatshirt and sweatpants":
            print("Nice and comfy.")
            return 100
        elif realmsg == "B" or realmsg == "Pajamas":
            print("Nice and comfy.")
            return 100
        elif realmsg == "C" or realmsg == "Full outfit just in case":
            print("Prepated, but restrictive.")
            return 75
        elif realmsg == "D" or realmsg == "Birthday suit":
            print("A bit haphazard, but I appreciate the spirit.")
            return 90
        elif realmsg == "E" or realmsg == "Other":
            print("You walk in the middle of the fork in the road.")
            return 80
        else:
            print("That's an invalid response! Make sure to pick one of the letters.")
            retry()
            return 0
    elif mcheckval == 13:
        if realmsg == "A" or realmsg == "Something nonchalant":
            print("Gotta play it cool, right?")
            return 90
        elif realmsg == "B" or realmsg == "Something peppy and fun":
            print("Why not express how fun you are as a person?")
            return 80
        elif realmsg == "C" or realmsg == "Something to make him/her laugh":
            print("Fun is one thing, but FUNNY really sells you.")
            return 100
        elif realmsg == "D" or realmsg == "Something endearingly mean":
            print("How cute...")
            return 80
        elif realmsg == "E" or realmsg == "Ghost the stud because of anxiety":
            print("Understandable.")
            return 90
        else:
            print("That's an invalid response! Make sure to pick one of the letters.")
            retry()
            return 0
    elif mcheckval == 14:
        if realmsg == "A" or realmsg == "Today":
            print("At what? A KFC commercial?")
            return 75
        elif realmsg == "B" or realmsg == "This week":
            print("A real compassionate person, huh?")
            return 100
        elif realmsg == "C" or realmsg == "This month":
            print("A reasonable frequency, I'd say.")
            return 90
        elif realmsg == "D" or realmsg == "This year":
            print("Some pretty solid restraint you've got there.")
            return 80
        elif realmsg == "E" or realmsg == "So long ago I lost track":
            print("Tear ducts of steel, eh?")
            return 100
        else:
            print("That's an invalid response! Make sure to pick one of the letters.")
            retry()
            return 0
    else:
        print("There seems to have been an error! Let's start over.\n\n-----\n")
        nameselect()

def fr_check():
    if fcheckval == 0:
        if realmsg == "Sushi" or realmsg == "Pozole" or realmsg == "Pickle" or realmsg == "Pickles":
            print("Stop, you're making me hungry...")
            return 100
        elif realmsg == "Krabby Patty":
            print("You broke the two-word rule and you shall be rewarded for it...")
            return 100
        elif realmsg == "Ramen" or realmsg == "Burger" or realmsg == "Burgers" or realmsg == "Hamburger" or realmsg == "Hamburgers":
            print("Mmmmmm...")
            return 90
        elif realmsg == "Burrito" or realmsg == "Burritos" or realmsg == "Taco" or realmsg == "Tacos" or realmsg == "Enchiladas":
            print("Muy delicioso...")
            return 80
        elif realmsg == "Peanuts" or realmsg == "Peanut" or realmsg == "Nut" or realmsg == "Nuts" or realmsg == "Almond" or realmsg == "Almonds" or realmsg == "Peas" or realmsg == "Chickpeas":
            print("Just a sec, my throat is closing...")
            return 1
        elif " " in realmsg:
            print('What part of "one-word" do you not understand? Redo!')
            retry()
            return
        else:
            print("Hmm... That doesn't sound too bad...")
            return 75
    elif fcheckval == 1:
        fr_invalretry(realmsg)
        if int(realmsg) >= 130:
            print("Don't talk to me, talk to Guinness!")
            return 5
        elif int(realmsg) >= 50:
            print("G o o d   t o   k n o w .\nI   w i l l   s p e a k   e x t r a   s l o w l y .\nJust kidding.")
            return 10
        elif name == "Kendall" and int(realmsg) >= 16:
            print("Cougar.\nMine.")
            return 100
        elif int(realmsg) >= 19:
            print("A certain feline creature comes to mind...\nErr, umm...")
            return 75
        elif int(realmsg) <= 10:
            print("How did you even get here?")
            return 5
        elif int(realmsg) < 15:
            print("Woah, what are you doing here, kiddo?")
            return 5
        else:
            print("Within an ideal range...")
            return 100
    elif fcheckval == 2:
        fr_invalretry(realmsg)
        if int(realmsg) == 211:
            print("Perfection.")
            return 100
        elif int(realmsg) == 23:
            print("Beautiful.")
            return 90
        elif int(realmsg) == 27 or int(realmsg) == 36 or int(realmsg) == 64 or int(realmsg) == 12 or int(realmsg) == 6:
            print("Pretty cool number you've got there.")
            return 80
        else:
            print("You do you, pal.")
            return 70
    elif fcheckval == 3:
        fr_invalretry(realmsg)
        if int(realmsg) == 0:
            print("Have you no respect for your bloodline?")
            return 100
        elif int(realmsg) == 1:
            print("Yeah, even one can be a handful, huh?")
            return 80
        elif int(realmsg) == 2:
            print("Why not give 'em a friend?")
            return 90
        elif int(realmsg) == 3:
            print("Nice round number.")
            return 100
        elif int(realmsg) == 4:
            print("Hmm...maybe some twins in there...")
            return 80
        else:
            print("How ambitious...")
            return 60
    elif fcheckval == 4:
        fr_invalretry(realmsg)
        if int(realmsg) == 0:
            print("Awfully picky, aren't you?")
            return 80
        elif int(realmsg) <= 1:
            print("A little bit of breathing room, I guess...")
            return 90
        elif int(realmsg) <= 2:
            print("I think that's quite fair.")
            return 100
        elif int(realmsg) <= 3:
            print("I can see that...in adult circumtances.")
            return 100
        elif int(realmsg) <= 8:
            print("Pretty lenient...")
            return 90
        elif int(realmsg) <= 15:
            print("Now we're getting into criminal range...")
            return 75
        else:
            print("I have to make a phone call...")
            return 20
    elif fcheckval == 5:
        if realmsg == "Cornelius" or realmsg == "Fido" or realmsg == "Tony" or realmsg == "Tigger" or realmsg == "Tux" or realmsg == "Chili":
            print("Couldn't pick a better name myself!")
            return 100
        elif realmsg == "Carmela" or realmsg == "Leo":
            print("No, they're in the right home for now.")
            return 90
        elif realmsg == "Worf":
            print("Who would name a cat that? Why not Tony?")
            return 80
        elif realmsg == "Mittens":
            print("Under the right circumstances...")
            return 90
        elif realmsg == "Jibanyan" or realmsg == "Rudy":
            print("I can't believe you answered like that. You're so...lame...")
            return 90
        else:
            print("Interesting idea...")
            return 70
    elif fcheckval == 6:
        if realmsg == "Drew" or realmsg == "Kendall" or realmsg == "Louis" or realmsg == "Andrew":
            print("You really know how to get me...")
            return 100
        elif name == "Kendall":
            print("Good to know...")
            return 100
        elif realmsg == "Ryan" or realmsg == "James":
            print("だが断る!")
            return 0
        elif realmsg == name:
            if narcissism == 1:
                print("You name both your son AND your daughter after yourself?\nWouldn't that get confusing?")
                return 0
            narcissism = 1
            print("Yeesh, you want a kid named" + realmsg + "AND you're a narcissist?")
            return 50
        else:
            print("I see...")
            return 80
    elif fcheckval == 7:
        if realmsg == "Kendall" or realmsg == "Chloe" or realmsg == "Hope" or realmsg == "Drew":
            print("Perfection.")
            return 100
        elif realmsg == "Michelle" or realmsg == "Lauren" or realmsg == "Veronica":
            print("At least wait a couple generations before reuse! Geez...")
            return 90
        elif name == "Kendall":
            print("Good to know...")
            return 100
        elif realmsg == "Ryan" or realmsg == "Alyssa" or realmsg == "Laila":
            print("だが断る!")
            return 0
        elif realmsg == name:
            if narcissism == 1:
                print("You name both your son AND your daughter after yourself?\nWouldn't that get confusing?")
                return 0
            narcissism = 1
            print("Yeesh, you want a kid named" + realmsg + "AND you're a narcissist?")
            return 50
        else:
            print("I see...")
            return 80
    elif fcheckval == 8:
        fr_invalretry(realmsg)
        if int(realmsg) == lucky:
            print("Way to go! It's your lucky day!")
            return 100
        elif name == "Drew" and score >= 900:
            print("You didn't get lucky. But you made the RNG so you win.")
            return 100
        elif int(realmsg) == (lucky + 1) or int(realmsg) == (lucky - 1):
            print("Ah, so close! Not quite, though...")
            return 50
        elif int(realmsg) > lucky:
            print("You seem to have overshot just a bit! Too bad...")
            return 0
        elif int(realmsg) < lucky:
            print("You seem to have undershot a bit! Too bad...")
            return 0
        else:
            print("Not quite! Sorry about that...")
            return 0
    else:
        print("There seems to have been an error! Let's start over.\n\n-----\n")
        nameselect()

mc_prompts = [
    "Which season of SpongeBob is the best?\na) 1\nb) 2\nc) 3\nd) 4\ne) 5\nf) 6\ng) 7\nh) 8\ni) 9\nj) 10\nk) 11\nl) 12\nm) 13",
    "Which of these school subjects is the WORST?\na) Math\nb) Science\nc) English\nd) History\ne) PE\nf) Music/Fine Arts",
    "Let's be honest: when did the Pokémon series REALLY start to decline?\na) Generation 5\nb) Generation 6\nc) Generation 7\nd) Generation 8",
    "Which of these ice cream flavors beats out the rest?\na) Vanilla\nb) Chocolate\nc) Strawberry\nd) Rainbow Sherbet\ne) Mint Chocolate Chip\nf) Cookies and Cream\ng) Cotton Candy\nh) Watermelon\ni) Pralines and Cream\nj) Reese's Peanut Butter Cup",
    "Pick your favorite music genre (out of these):\na) Pop\nb) Rock\nc) Country\nd) Punk/Ska\ne) Jazz\nf) Classical\ng) Lo-fi\nh) Movie/Game Soundtracks\ni) K-Pop",
    "What is your favorite color?\na) Red\nb) Orange\nc) Yellow\nd) Green\ne) Blue\nf) Purple\ng) Brown\nh) Black\ni) Pink\nj) White\nk) Clear",
    "What kind of movie would you be most interested in watching?\na) Action\nb) Comedy\nc) Horror\nd) Rom-com\ne) Drama\nf) Musical",
    "Which of these qualities is most important in a partner?\na) Appearance\nb) Personality\nc) Intelligence\nd) Values\ne) All of the above",
    "If an older man drank your drink after being asked to watch it\nwhile you used the bathroom at a concert, would you confront him?\na) Definitely\nb) Maybe\nc) Probably not\nd) Definitely not\ne) I'd ask my date to confront him",
    "Which kind of (common) pet would you prefer to own?\na) Dog\nb) Cat\nc) Fish\nd) Hampster/Guinea Pig\ne) Bunny\nf) Giraffe",
    "How often do you usually shower?\na) Once a day\nb) More than once per day\nc) Once every other day\nd) Once a week\ne) What is a shower?",
    "What is the correct milkshake flavor?\na) Vanilla\nb) Chocolate\nc) Strawberry\nd) Oreo/Cookies & Cream",
    "It's a lazy day at home. No plans at the moment. What do you wear?\na) Sweatshirt and sweatpants\nb) Pajamas\nc) Full outfit just in case\nd) Birthday suit\ne) Other",
    "A hot stud you really like just asked for your number! What do you text?\na) Something nonchalant\nb) Something peppy and fun\nc) Something to make him/her laugh\nd) Something endearingly mean\ne) Ghost the stud because of anxiety",
    "When was the last time you cried?\na) Today\nb) This week\nc) This month\nd) This year\ne) So long ago I lost track"
]

fr_prompts = [
    "What is your favorite food? (Pick a one-word food, please.)",
    "How old are you? (Use numeric digits, please.)",
    "What is your favorite number? (Use numeric digits, please.)",
    "If you were to start a family, how many children would you have? (Use numeric digits, please.)",
    "What is the largest age difference (in years) you're willing to look past in a relationship?\n(Use numeric digits, please.)",
    "You adopt a cat of unspecified gender! What do you call it?",
    "Your son is born! What is his name?",
    "Your daughter is born! What is her name?",
    "Feeling lucky? Pick a number between 1 and 10..."
]
    
nameselect()
print("Excellent! Your name has been saved anonymously to a public database.\nErr, um...")
print("Please select a gender!\na) Male\nb) Female\nc) Other")
gen_select = input()
if gen_select == "a" or gen_select == "Male" or gen_select == "male":
    gender = "M"
    print("Good to meet you then, big man!")
elif gen_select == "b" or gen_select == "Female" or gen_select == "female":
    gender = "F"
    print("Why, how do you do, m'lady?\nErr...ehem!")
else:
    gender = "O"
    print("How curious...")

def namescrew():
    global fakename
    if name[0] == "A" and (gender == "M" or gender == "O"):
        fakename = "AJar"
    elif name[0] == "A" and gender == "F":
        fakename = "Aliciaptor"
    elif name[0] == "B" and gender == "M":
        fakename = "Boristocrat"
    elif name[0] == "B" and (gender == "F" or gender == "O"):
        fakename = "Bailington"
    elif name[0] == "C" and gender == "M":
        fakename = "Carlston"
    elif name[0] == "C" and (gender == "F" or gender == "O"):
        fakename = "Charlise"
    elif name[0] == "D" and gender == "M":
        fakename = "Drevious"
    elif name[0] == "D" and (gender == "F" or gender == "O"):
        fakename = "Dremselle"
    elif name[0] == "E" and gender == "M":
        fakename = "Ebbie"
    elif name[0] == "E" and (gender == "F" or gender == "O"):
        fakename = "Elvia"
    elif name[0] == "F" and gender == "M":
        fakename = "Felvis"
    elif name[0] == "F" and (gender == "F" or gender == "O"):
        fakename = "Freaky"
    elif name[0] == "G" and gender == "M":
        fakename = "Gooby"
    elif name[0] == "G" and (gender == "F" or gender == "O"):
        fakename = "Glorbis"
    elif name[0] == "H" and gender == "M":
        fakename = "Harvrey"
    elif name[0] == "H" and (gender == "F" or gender == "O"):
        fakename = "Helenena"
    elif name[0] == "I" and gender == "M":
        fakename = "Inglo"
    elif name[0] == "I" and (gender == "F" or gender == "O"):
        fakename = "Ingla"
    elif name[0] == "J" and gender == "M":
        fakename = "Jeano"
    elif name[0] == "J" and (gender == "F" or gender == "O"):
        fakename = "Jacquavia"
    elif name[0] == "K" and gender == "M":
        fakename = "Klevin"
    elif name[0] == "K" and (gender == "F" or gender == "O"):
        fakename = "Kraseche"
    elif name[0] == "L" and gender == "M":
        fakename = "Levat" + randv + "te"
    elif name[0] == "L" and (gender == "F" or gender == "O"):
        fakename = "L" + randv + "rvenza"
    elif name[0] == "M" and gender == "M":
        fakename = "Mor" + randv + "svo"
    elif name[0] == "M" and (gender == "F" or gender == "O"):
        fakename = "Marv" + randv + "na"
    elif name[0] == "N" and gender == "M":
        fakename = "Nels" + randv + "rlo"
    elif name[0] == "N" and (gender == "F" or gender == "O"):
        fakename = "Neebl" + randv
    elif name[0] == "O" and gender == "M":
        fakename = "Orth" + randv + "to"
    elif name[0] == "O" and (gender == "F" or gender == "O"):
        fakename = "Orl" + randv + "va"
    elif name[0] == "P" and gender == "M":
        fakename = "Pl" + randv + "plo"
    elif name[0] == "P" and (gender == "F" or gender == "O"):
        fakename = "Pro" + randv + "da"
    elif name[0] == "Q" and gender == "M":
        fakename = "Qual" + randv + "cov"
    elif name[0] == "Q" and (gender == "F" or gender == "O"):
        fakename = "Quiz" + randv + "ll"
    elif name[0] == "R" and gender == "M":
        fakename = "R" + randv + "llapso"
    elif name[0] == "R" and (gender == "F" or gender == "O"):
        fakename = "Rop" + randv + "relle"
    elif name[0] == "S" and gender == "M":
        fakename = "Sl" + randv + "cco"
    elif name[0] == "S" and (gender == "F" or gender == "O"):
        fakename = "Slo" + randv + "na"
    elif name[0] == "T" and gender == "M":
        fakename = "Tr" + randv + "lbo"
    elif name[0] == "T" and (gender == "F" or gender == "O"):
        fakename = "Test" + randv + "ca"
    elif name[0] == "U" and gender == "M":
        fakename = "Ulyss" + randv + "s"
    elif name[0] == "U" and (gender == "F" or gender == "O"):
        fakename = "Urs" + randv + "loa"
    elif name[0] == "V" and gender == "M":
        fakename = "Volt" + randv + "gio"
    elif name[0] == "V" and (gender == "F" or gender == "O"):
        fakename = "Ver" + randv + "nclessa"
    elif name[0] == "W" and gender == "M":
        fakename = "Welch" + randv + "llo"
    elif name[0] == "W" and (gender == "F" or gender == "O"):
        fakename = "Wr" + randv + "nna"
    elif name[0] == "X" and gender == "M":
        fakename = "Xan" + randv + "llo"
    elif name[0] == "X" and (gender == "F" or gender == "O"):
        fakename = "Xandra"
    elif name[0] == "Y" and gender == "M":
        fakename = "Yos" + randv + "shi"
    elif name[0] == "Y" and (gender == "F" or gender == "O"):
        fakename = "Yarr" + randv + "ppa"
    elif name[0] == "Z" and gender == "M":
        fakename = "Zoom" + randv + "llo"
    else:
        fakename = "Zerkl" + randv + "va"

print("Okay, " + name + ", I think it's time for us to begin the survey.")
def question1():
    print(mc_prompts[int(mc_select[0])])
    global quesval
    quesval = 1
    global mcheckval
    mcheckval = mc_select[0]
    mc_question()
    global scorechange
    scorechange = mc_check()
    global score
    score += scorechange
question1()
def question2():
    print(mc_prompts[int(mc_select[1])])
    global quesval
    quesval = 2
    global mcheckval
    mcheckval = mc_select[1]
    mc_question()
    global scorechange
    scorechange = mc_check()
    global score
    score += scorechange
question2()
def question3():
    print(mc_prompts[int(mc_select[2])])
    global quesval
    quesval = 3
    global mcheckval
    mcheckval = mc_select[2]
    mc_question()
    global scorechange
    scorechange = mc_check()
    global score
    score += scorechange
question3()
def question4():
    print(mc_prompts[int(mc_select[3])])
    global quesval
    quesval = 4
    global mcheckval
    mcheckval = mc_select[3]
    mc_question()
    global scorechange
    scorechange = mc_check()
    global score
    score += scorechange
question4()
def question5():
    print(mc_prompts[int(mc_select[4])])
    global quesval
    quesval = 5
    global mcheckval
    mcheckval = mc_select[4]
    mc_question()
    global scorechange
    scorechange = mc_check()
    global score
    score += scorechange
question5()
if score <= 250:
    print("You really know how to answer opinion questions wrong, huh?\nLet's hope this doesn't continue...")
def question6():
    print(mc_prompts[int(mc_select[5])])
    global quesval
    quesval = 6
    global mcheckval
    mcheckval = mc_select[5]
    mc_question()
    global scorechange
    scorechange = mc_check()
    global score
    score += scorechange
question6()
def question7():
    print(mc_prompts[int(mc_select[6])])
    global quesval
    quesval = 7
    global mcheckval
    mcheckval = mc_select[6]
    mc_question()
    global scorechange
    scorechange = mc_check()
    global score
    score += scorechange
question7()
def question8():
    print(mc_prompts[int(mc_select[7])])
    global quesval
    quesval = 8
    global mcheckval
    mcheckval = mc_select[7]
    mc_question()
    global scorechange
    scorechange = mc_check()
    global score
    score += scorechange
question8()
def question9():
    print(mc_prompts[int(mc_select[8])])
    global quesval
    quesval = 9
    global mcheckval
    mcheckval = mc_select[8]
    mc_question()
    global scorechange
    scorechange = mc_check()
    global score
    score += scorechange
question9()
def question10():
    print(mc_prompts[int(mc_select[9])])
    global quesval
    quesval = 10
    global mcheckval
    mcheckval = mc_select[9]
    mc_question()
    global scorechange
    scorechange = mc_check()
    global score
    score += scorechange
question10()
mcpoints = score
mcscore = str(float(f'{(mcpoints / 10):.1f}'))
namescrew()
print("That concludes the multiple choice portion of this quiz!")
print("Alright, " + fakename + ", just five more free response questions to go.")
print('Huh? What do you mean your name isn\'t "' + fakename + '"? What is it, then?')
nmae2 = input()
name2 = nmae2.capitalize()
print("Ohh, it was " + name2 + "...")
if name2 != name:
    print("Are you sure? That doesn't sound quite right...")
elif name2 == name:
    print("Hah! I knew it started with " + name[0] + "!")
print("Sorry about that, pal! Let's go ahead and continue.\nSay whatever you want! Just make sure to answer honestly.")
def question11():
    print(fr_prompts[int(fr_select[0])])
    global quesval
    quesval = 11
    global fcheckval
    fcheckval = fr_select[0]
    fr_question()
    global scorechange
    scorechange = fr_check()
    global score
    score += scorechange
question11()
def question12():
    print(fr_prompts[int(fr_select[1])])
    global quesval
    quesval = 12
    global fcheckval
    fcheckval = fr_select[1]
    fr_question()
    global scorechange
    scorechange = fr_check()
    global score
    score += scorechange
question12()
def question13():
    print(fr_prompts[int(fr_select[2])])
    global quesval
    quesval = 13
    global fcheckval
    fcheckval = fr_select[2]
    fr_question()
    global scorechange
    scorechange = fr_check()
    global score
    score += scorechange
question13()
def question14():
    print(fr_prompts[int(fr_select[3])])
    global quesval
    quesval = 14
    global fcheckval
    fcheckval = fr_select[3]
    fr_question()
    global scorechange
    scorechange = fr_check()
    global score
    score += scorechange
question14()
def question15():
    print(fr_prompts[int(fr_select[4])])
    global quesval
    quesval = 15
    global fcheckval
    fcheckval = fr_select[4]
    fr_question()
    global scorechange
    scorechange = fr_check()
    global score
    score += scorechange
question15()

frpoints = score - mcpoints
frscore = str(float(f'{(frpoints / 5):.1f}'))
finalfloat = (score / 15)
finalscore = str(float(f'{finalfloat:.1f}'))
def finalsheet():
    print("\n~~~\n\n" + name + ":\n\tMultiple choice score: " + mcscore + "%.\n\tFree response score: " + frscore + "%.\n\tFinal score: " + finalscore + "%.")
print("---\nAlright, that concludes the survey! Thank you for your patience.")
if youloseidiot == 1:
    print("Unfortunately...")
    print("You have defied me with excessive frequency.\nYou'll have to try the quiz again.")
    youloseidiot = 0
    score = 0
    nameselect()
if name == "Kendall":
    print("You scored 100.0%. More than 100.0%. Of course you do.\nYes, it's scored. I already spoiled that.\nYou really promise forever?")
    forever = input()
    if forever in affirmative:
        print("I love you.")
    elif forever in negative:
        print("Oh...I see...")
    else:
        print("I'll give you the benefit of the doubt and say it was a typo...")
elif name == "Drew" and gender == "M" and score >= 1350:
    print("Good job testing. The final score was " + finalscore + "%.")
    if finalfloat < 100.0:
        print("Those point losses had better be from VSCode errors...")
elif gender == "M" or gender == "O":
    print("Based on your results, we will calculate your eligibility to serve THE MASTER.\nTHE MASTER has certain criteria he wishes to see met.")
    print("...?")
    print("You're confused? What do you mean?\nWas it not clear that this was your eligibility interview?\nYou need to do better research.")
    print("Anyway, here comes your score...")
    print(finalscore + "%!")
    if finalfloat == 100.0:
        print("WE HAVE DONE IT! We have found the perfect candidate!\nTHE MASTER shall feed on your willingness to contribute.\nYou shall make the preparations.\nYou shall find salvation in serving him.\nY u  i h  o  e  h m \nI  t m . .\nERROR\nE R R\n~~~G~N~I~H~C~T~A~W~~S~I~~E~H~~~")
        nameselect()
    elif finalfloat >= 80.0:
        print("Excellent work. THE MASTER will be happy to work with you.\nFind some way to fix those errors, though, please...")
    elif finalfloat >= 60.0:
        print("Your score is low enough to displease THE MASTER.\nYou would have to be significantly more pleasant in-person to win him over.\nI am very sorry, but please consider your eligibility low...")
    elif finalfloat < 60.0:
        print("You are foolish for thinking you are worthy of standing in his presence.\nStay out of THE MASTER's sight, or your thoughtlessness will be punished.")
elif gender == "F":
    print("Based on your results, we will calculate your eligibility to wed THE MASTER.\nTHE MASTER may yet have found his bride after the long search.\nIf only THE MASTER could see your live countenance.")
    print("...?")
    print("You're confused? What do you mean?\nWas it not clear that this was your eligibility interview?\nYou need to do better research.")
    print("Anyway, here comes your score...")
    print(finalscore + "%!")
    if finalfloat == 100.0:
        print("WE HAVE DONE IT! We have found the perfect bride!\nTHE MASTER shall feed on your willingness to contribute.\nYou shall carry on his lineage.\nYou shall find salvation in serving him.\nY u  i h  o  e  h m \nI  t m . .\nERROR\nE R R\n~~~G~N~I~H~C~T~A~W~~S~I~~E~H~~~")
        nameselect()
    elif finalfloat >= 80.0:
        print("You are certainly a candidate with such a high score.\nTHE MASTER will keep you in mind...")
    elif finalfloat >= 60.0:
        print("Unfortunately, THE MASTER's standards for a bride are higher than you fit.\nYou would have to be awfully attractive to win him over.\nI am very sorry, ma'am.")
    elif finalfloat < 60.0:
        print("You are foolish for thinking you are worthy of standing in his presence.\nStay out of THE MASTER's sight, or your thoughtlessness will be punished.")
print("Do you wish to see a written report of your results?")
reportconsent = input()
if reportconsent in affirmative:
    print("Understood. Printing...")
    finalsheet()
elif reportconsent in negative:
    print("Understood. Have a nice day.")
else:
    print("Response unfamiliar. Presuming REPORT = FALSE. Have a nice day.")
Welcome to a deeply important survey!
It will consist of 15 questions, 10 multiple choice and five free response.
It should be easy. Be sure to answer one of the provided options for multiple choice questions.
Put whatever you want for open-ended questions, but answer honestly!
Before we begin, what is your first name?
John...
John? Eh, could've been better.
Excellent! Your name has been saved anonymously to a public database.
Err, um...
Please select a gender!
a) Male
b) Female
c) Other
Good to meet you then, big man!
Okay, John, I think it's time for us to begin the survey.
What is the correct milkshake flavor?
a) Vanilla
b) Chocolate
c) Strawberry
d) Oreo/Cookies & Cream
You chose option 'B.'
The ice cream classic...milkshake-ified.
What is your favorite color?
a) Red
b) Orange
c) Yellow
d) Green
e) Blue
f) Purple
g) Brown
h) Black
i) Pink
j) White
k) Clear
You chose option 'K.'
What do you mean it's not a color? How close-minded.
Let's be honest: when did the Pokémon series REALLY start to decline?
a) Generation 5
b) Generation 6
c) Generation 7
d) Generation 8
You chose option 'D.'
The box legendary is a dog with a sword in its mouth.
What kind of movie would you be most interested in watching?
a) Action
b) Comedy
c) Horror
d) Rom-com
e) Drama
f) Musical
You chose option 'A.'
*Explosion* *Laser* *Michael Bay*
How often do you usually shower?
a) Once a day
b) More than once per day
c) Once every other day
d) Once a week
e) What is a shower?
You chose option 'A.'
Perfectly reasonable.
When was the last time you cried?
a) Today
b) This week
c) This month
d) This year
e) So long ago I lost track
You chose option 'D.'
Some pretty solid restraint you've got there.
If an older man drank your drink after being asked to watch it
while you used the bathroom at a concert, would you confront him?
a) Definitely
b) Maybe
c) Probably not
d) Definitely not
e) I'd ask my date to confront him
You chose option 'A.'
Try not to get into TOO much trouble...
Which season of SpongeBob is the best?
a) 1
b) 2
c) 3
d) 4
e) 5
f) 6
g) 7
h) 8
i) 9
j) 10
k) 11
l) 12
m) 13
You chose option 'Vscode error.'
That's an invalid response! Make sure to pick one of the letters.
Which season of SpongeBob is the best?
a) 1
b) 2
c) 3
d) 4
e) 5
f) 6
g) 7
h) 8
i) 9
j) 10
k) 11
l) 12
m) 13
You chose option 'I.'
Yes, the revival! Points for precision! Well done.
Which of these ice cream flavors beats out the rest?
a) Vanilla
b) Chocolate
c) Strawberry
d) Rainbow Sherbet
e) Mint Chocolate Chip
f) Cookies and Cream
g) Cotton Candy
h) Watermelon
i) Pralines and Cream
j) Reese's Peanut Butter Cup
You chose option 'E.'
Sometimes, it just hits the spot.
Pick your favorite music genre (out of these):
a) Pop
b) Rock
c) Country
d) Punk/Ska
e) Jazz
f) Classical
g) Lo-fi
h) Movie/Game Soundtracks
i) K-Pop
You chose option 'E.'
So groovy.
That concludes the multiple choice portion of this quiz!
Alright, Jeano, just five more free response questions to go.
Huh? What do you mean your name isn't "Jeano"? What is it, then?
Ohh, it was John...
Hah! I knew it started with J!
Sorry about that, pal! Let's go ahead and continue.
Say whatever you want! Just make sure to answer honestly.
Feeling lucky? Pick a number between 1 and 10...
7, huh...?
Ah, so close! Not quite, though...
What is your favorite food? (Pick a one-word food, please.)
Spaghetti, huh...?
Hmm... That doesn't sound too bad...
If you were to start a family, how many children would you have? (Use numeric digits, please.)
2, huh...?
Why not give 'em a friend?
What is the largest age difference (in years) you're willing to look past in a relationship?
(Use numeric digits, please.)
10, huh...?
Now we're getting into criminal range...
You adopt a cat of unspecified gender! What do you call it?
Tony, huh...?
Couldn't pick a better name myself!
---
Alright, that concludes the survey! Thank you for your patience.
Based on your results, we will calculate your eligibility to serve THE MASTER.
THE MASTER has certain criteria he wishes to see met.
...?
You're confused? What do you mean?
Was it not clear that this was your eligibility interview?
You need to do better research.
Anyway, here comes your score...
83.3%!
Excellent work. THE MASTER will be happy to work with you.
Find some way to fix those errors, though, please...
Do you wish to see a written report of your results?
Understood. Printing...

~~~

John:
	Multiple choice score: 86.0%.
	Free response score: 78.0%.
	Final score: 83.3%.