from random import choice
class data(object):
    easy=['bridge', 'bone', 'grapes','bell','jellyfish', 'bunny', 'truck', 'grass',
     'door', 'monkey', 'spider', 'bread', 'ears', 'bowl', 'bracelet', 'alligator', 
     'bat', 'clock', 'moon', 'doll' ,'orange', 'ear', 'basketball',
      'bike', 'airplane' ,'pen',  'seashell', 'rocket', 'cloud', 'bear',
      'corn', 'chicken', 'purse', 'glasses','calm','cast','chose','film',
      'kids','nuts','sale','rush','toy','zoo']
    med=[
        'acres',
        'adult',
        'advice',
        'arrangement',
        'attempt',
        'August',
        'Autumn',
        'border',
        'breeze',
        'brick',
        'canal',
        'lollipop',
        'claws',
        'coach',
        'constantly',
        'contrast',
        'cookies',
        'customs',
        'damage',
        'Danny',
        'deeply',
        'depth',
        'discussion',
        'donkey',
        'Egypt',
        'essential',
        'exchange',
        'exist',
        'explanation',
        'facing',
        'finest',
        'fireplace',
        'floating',
        'folks',
        'fort',
        'garage',
        'grabbed',
        'grandmother',
        'habit',
        'happily',
        'Harry',
        'heading',
        'hunter',
        'image',
        'independent',
        'instant',
        'January',
        'label',
        'Lee',
        'lungs',
        'manufacturing',
        'Martin',
        'mathematics',
        'melted',
        'memory',
        'mill',
        'mission',
        'monkey',
        'Mount',
        'mysterious',
        'neighborhood',
        'Norway',
        'occasionally',
        'official',
        'ourselves',
        'palace',
        'Pennsylvania',
        'Philadelphia',
        'plates',
        'poetry',
        'policeman',
        'positive',
        'possibly',
        'practical',
        'pride',
        'promised',
        'recall',
        'relationship',
        'remarkable',
        'require',
        'rhyme',
        'rocky',
        'rubbed',
        'satellites',
        'satisfied',
        'scared',
        'selection',
        'shake',
        'shaking',
        'shallow',
        'shout',
        'silly',
        'simplest',
        'slight',
        'slip',
        'slope',
        'soap',
        'solar',
        'species',
        'spin',
        'stiff',
        'swung',
        'tales',
        'thumb',
        'tobacco',
        'trap',
        'treated',
        'tune',
        'University',
        'vapor',
        'vessels',
        'wealth',
        'wolf',
        ]

    hard=[
        'Awkward',
        'Bagpipes',
        'Banjo',
        'Bungler',
        'Croquet',
        'Crypt',
        'Dwarves',
        'Fervid',
        'Fishhook',
        'Fjord',
        'Gazebo',
        'Gypsy',
        'Haiku',
        'Haphazard',
        'Hyphen',
        'Ivory',
        'Jazzy',
        'Jiffy',
        'Jinx',
        'Jukebox',
        'Kayak',
        'Kiosk',
        'Klutz',
        'Memento',
        'Mystify',
        'Numbskull',
        'Ostracize',
        'Oxygen',
        'Pajama',
        'Phlegm',
        'Pixel',
        'Polka',
        'Quad',
        'Quip',
        'Rhythm',
        'Rogue',
        'Sphinx',
        'Squawk',
        'Swivel',
        'Toady',
        'Twelfth',
        'Unzip',
        'Waxy',
        'Wildebeest',
        'Yacht',
        'Zealous',
        'Zigzag',
        'Zippy',
        'Zombie'
        ]


    nmare=[
        'abruptly',
        'absurd',
        'abyss',
        'affix',
        'askew',
        'avenue',
        'awkward',
        'axiom',
        'azure',
        'bandwagon',
        'banjo',
        'bayou',
        'beekeeper',
        'bikini',
        'blitz',
        'blizzard',
        'boggle',
        'bookworm',
        'boxcar',
        'boxful',
        'buckaroo',
        'buffalo',
        'buffoon',
        'buxom',
        'buzzard',
        'buzzing',
        'buzzwords',
        'caliph',
        'cobweb',
        'cockiness',
        'croquet',
        'crypt',
        'curacao',
        'cycle',
        'daiquiri',
        'dirndl',
        'disavow',
        'dizzying',
        'duplex',
        'dwarves',
        'embezzle',
        'equip',
        'espionage',
        'euouae',
        'exodus',
        'faking',
        'fishhook',
        'fixable',
        'fjord',
        'flapjack',
        'flopping',
        'fluffiness',
        'flyby',
        'foxglove',
        'frazzled',
        'frizzled',
        'fuchsia',
        'funny',
        'gabby',
        'galaxy',
        'galvanize',
        'gazebo',
        'giaour',
        'gizmo',
        'glowworm',
        'glyph',
        'gnarly',
        'gnostic',
        'gossip',
        'grogginess',
        'haiku',
        'haphazard',
        'hyphen',
        'iatrogenic',
        'icebox',
        'injury',
        'ivory',
        'ivy',
        'jackpot',
        'jaundice',
        'jawbreaker',
        'jaywalk',
        'jazziest',
        'jazzy',
        'jelly',
        'jigsaw',
        'jinx',
        'jiujitsu',
        'jockey',
        'jogging',
        'joking',
        'jovial',
        'joyful',
        'juicy',
        'jukebox',
        'jumbo',
        'kayak',
        'kazoo',
        'keyhole',
        'khaki',
        'kilobyte',
        'kiosk',
        'kitsch',
        'kiwifruit',
        'klutz',
        'knapsack',
        'larynx',
        'lengths',
        'lucky',
        'luxury',
        'lymph',
        'marquis',
        'matrix',
        'megahertz',
        'microwave',
        'mnemonic',
        'mystify',
        'naphtha',
        'nightclub',
        'nowadays',
        'numbskull',
        'nymph',
        'onyx',
        'ovary',
        'oxidize',
        'oxygen',
        'pajama',
        'peekaboo',
        'phlegm',
        'pixel',
        'pizazz',
        'pneumonia',
        'polka',
        'pshaw',
        'psyche',
        'puppy',
        'puzzling',
        'quartz',
        'queue',
        'quips',
        'quixotic',
        'quiz',
        'quizzes',
        'quorum',
        'razzmatazz',
        'rhubarb',
        'rhythm',
        'rickshaw',
        'schnapps',
        'scratch',
        'shiv',
        'snazzy',
        'sphinx',
        'spritz',
        'squawk',
        'staff',
        'strength',
        'strengths',
        'stretch',
        'stronghold',
        'stymied',
        'subway',
        'swivel',
        'syndrome',
        'thriftless',
        'thumbscrew',
        'topaz',
        'transcript',
        'transgress',
        'transplant',
        'triphthong',
        'twelfth',
        'twelfths',
        'unknown',
        'unworthy',
        'unzip',
        'uptown',
        'vaporize',
        'vixen',
        'vodka',
        'voodoo',
        'vortex',
        'voyeurism',
        'walkway',
        'waltz',
        'wave',
        'wavy',
        'waxy',
        'wellspring',
        'wheezy',
        'whiskey',
        'whizzing',
        'whomever',
        'wimpy',
        'witchcraft',
        'wizard',
        'woozy',
        'wristwatch',
        'wyvern',
        'xylophone',
        'yachtsman',
        'yippee',
        'yoked',
        'youthful',
        'yummy',
        'zephyr',
        'zigzag',
        'zigzagging',
        'zilch',
        'zipper',
        'zodiac',
        'zombie'
          ]    
    def generator(inp) :
        
        """ Function to generate a random word according to difficulty mode """

        def e():
            return choice(data.easy)
        def m():
            return choice(data.med)
        def h():
            return choice(data.hard)
        def n():
            return choice(data.nmare)
        def r():
            return choice(choice([data.easy,data.med,data.hard,data.nmare]))
        
        switcher={'E':e,'M':m,'H':h,'N':n,'R':r}
        
        return switcher.get(inp,lambda :'Wrong Input')()








        






