We just had our son drill. I wrote a small python script for that based on various testbooks and synonyms lists.
Here is the code, feel free to use any of it.
Code: Select all
import string
import random
llist=[[['abandon', 'leave']], [['abbreviate', 'shorten']], [['abode', 'dwelling']], [['abrupt', 'sudden']], [['abundant', 'plentiful']], [['accommodation', 'room']], [['accurate', 'correct']], [['adversity', 'misfortune']], [['aggressive', 'pushy', 'quarrelsome']], [['altitude', 'height']], [['amiable', 'friendly']], [['ample', 'plentiful']], [['animosity', 'hatred']], [['annual', 'yearly']], [['anonymous', 'nameless']], [['anticipate', 'expect']], [['apparel', 'clothes']], [['apparition', 'ghost']], [['arrogant', 'proud, haughty']], [['assembly', 'gathering']], [['assistance', 'help']], [['astonishment', 'surprise']], [['attired', 'dressed']], [['audacity', 'impudence, insolence']], [['austere', 'severe']], [['avaricious', 'greedy']], [['beverage', 'drink']], [['brief', 'short']], [['catastrophe', 'disaster']], [['cautious', 'careful']], [['cease', 'stop']], [['celebrated', 'famous']], [['centre', 'middle']], [['chivalrous', 'gallant']], [['circular', 'round']], [['colossal', 'huge']], [['commence', 'begin']], [['compel', 'force']], [['comprehend', 'understand']], [['conceal', 'hide']], [['Word', 'Synonym']], [['conclusion', 'end']], [['conversation', 'talk']], [['countenance', 'face']], [['courageous', 'brave']], [['courteous', 'polite']], [['deceive', 'mislead, cheat']], [['deficiency', 'shortage']], [['demonstrate', 'show']], [['denounce', 'condemn']], [['deride', 'mock']], [['desert', 'forsake']], [['despise', 'scorn']], [['detest', 'hate']], [['diminish', 'lessen']], [['diminutive', 'small']], [['disperse', 'scatter']], [['drowsy', 'sleepy']], [['dubious', 'doubtful']], [['edible', 'eatable']], [['elude', 'escape']], [['Word', 'Synonym']], [['eminent', 'famous']], [['encircle', 'surround']], [['endeavour', 'attempt']], [['energetic', 'active']], [['enormous', 'huge']], [['excavate', 'dig']], [['exhibit', 'show']], [['extravagance', 'waste']], [['fatigue', 'weariness']], [['ferocious', 'fierce']], [['frigid', 'cold']], [['generous', 'kind']], [['gleaming', 'shining']], [['gorgeous', 'beautiful, splendid']], [['gratitude', 'thankfulness']], [['grave', 'serious']], [['gruesome', 'horrible']], [['indolent', 'lazy']], [['industrious', 'busy']], [['infuriated', 'angry']], [['Word', 'Synonym']], [['inquire', 'ask']], [['insane', 'mad']], [['insolent', 'cheeky']], [['intention', 'purpose']], [['interior', 'inside']], [['intoxicated', 'drunk']], [['invaluable', 'priceless']], [['invincible', 'unbeatable']], [['isolation', 'loneliness']], [['jovial', 'jolly']], [['loathe', 'hate']], [['lubricate', 'oil']], [['mammoth', 'huge']], [['margin', 'edge']], [['mariner', 'sailor']], [['matrimony', 'marriage']], [['maximum', 'most']], [['mechanism', 'machinery']], [['melancholy', 'sad']], [['minimum', 'least']], [['Word', 'Synonym']], [['lofty', 'high']], [['moist', 'damp']], [['motionless', 'still']], [['mute', 'dumb']], [['necessity', 'need']], [['obstinate', 'stubborn']], [['odour', 'smell']], [['omen', 'sign']], [['option', 'choice']], [['pandemonium', 'uproar']], [['pathetic', 'pitiful']], [['peculiar', 'odd']], [['penetrate', 'pierce']], [['perceive', 'see']], [['persuade', 'coax']], [['peruse', 'read']], [['portion', 'part']], [['procure', 'obtain']], [['prohibit', 'forbid']], [['prominent', 'outstanding']], [['Word', 'Synonym']], [['prompt', 'quick']], [['puny', 'weak']], [['putrid', 'rotten']], [['rare', 'scarce']], [['reckless', 'rash']], [['recollect', 'remember']], [['regret', 'sorrow']], [['reluctant', 'unwilling']], [['reveal', 'show']], [['robust', 'strong']], [['ruddy', 'red']], [['scanty', 'scarce']], [['seclusion', 'privacy']], [['sever', 'separate']], [['significance', 'importance']], [['slender', 'slim']], [['solitude', 'loneliness']], [['spectre', 'ghost']], [['squander', 'waste']], [['stationary', 'still']], [['sufficient', 'enough']], [['summit', 'top']], [['tempestuous', 'stormy']], [['tranquil', 'calm']], [['unite', 'join']], [['vacant', 'empty']], [['valiant', 'brave']], [['vanquish', 'conquer']], [['velocity', 'speed']]]
nlist=[['infer', 'deduce'],['dissent', 'discord'], ['curtail', 'shorten'], ['adjourn', 'postpone'], ['feasible', 'doable'],['enfranchise', 'empower'], ['apathetic', 'indifferent'],['impecunious', 'poor'], ['disquieting', 'annoying'], ['cord', 'string'], ['cord', 'twine'],['chord', 'arc'],['chord','loop'],['lightening', 'brighten'], ['encounter', 'meet'],['fallacious', 'false'], ['profusion', 'abundance', 'copiousness'], ['fretful', 'distressed'], ['explicit', 'direct'], ['eulogy', 'praise'], ['deprecate', 'detest'], ['scanty', 'meagre', 'scarce', 'limited'], ['zenith', 'apex', 'peak'], ['ardour', 'passion', 'zeal', 'fervor'], ['dessecate', 'dry'],['assent', 'approval'], ['defuse', 'deactivate'], ['diffuse', "spread"], ['coax', 'convince'], ['commiseration', 'sympathy', 'condolence'],['admonish', 'scold'], ['expunge', 'eliminate'],['hallowed', 'sacred'],['extrapolate', 'remove'], ['euphemism', 'substitute'], ['mercurial', 'volatile'], ['countermand', 'repeal', 'rescind', 'retract'], ['amass', 'gather', 'aggregate'], ['undergo', 'receive', 'accept'], ['weighty', 'serious'], ['balmy', 'mild'], ['barmy', 'crazy'], ['sham', 'quack', 'charlatan'], ['elude', 'evade'], ['exacting', 'demanding'], ['exhaustive', 'complete'],['sagacious', 'wise'], ['erroneous', 'wrong'], ['elated', 'animated', 'jubilant'], ['sophisticated', 'cultivated', 'cosmopolitan'], ['discrectionary', 'elective', 'optional'],['annul', 'cancel'],['brook', 'stream'],['introvert', 'loner'], ['bemuse', 'confused'], ['coy', 'flirtatious'], ['dutiful','conscientious'], ['desecration', 'violation'], ['desecration', 'sacrilege'], ['raconteur','storyteller'], ['dissuade', 'discourage'], ['complicit', 'scheming'],['conspire', 'plot'], ['concoct', 'prepare'], ['pervasive','ubiquitous', 'omnipresent'],['assimilate', 'incorporate'], ['forlorn', 'unhappy'],['exonerate', 'acquit'], ['credulous', 'naive'], ['crescendo', 'increasing'], ['elision', 'descrease'],['ambiguous', 'unclear'], ['contemptible', 'arrogant'], ['repudiate', ' reject'], ['erratic', 'random'],['mollify', 'calm'],['docile', 'obedient'],['repugnant', ' repulsive'], ['loquatious', 'talkative'], ['arid', 'dry'], ['taciturn', 'silent'], ['incongruous', ' inappropriate'], ['feasible', 'doable'], ['callous', 'heartless'],['tantamount', 'equivalent'],['submerege', 'dive'], ['lucid', ' understandable'], ['lucid', 'sane'],['concise', 'short'], ['slovenly', 'messy'], ['diluted', 'weakened'], ['convoluted', 'complicated'], ['culpable', 'guilty'], ['brood', 'progeny'],['mediocre','average'],['reticent', 'reserved'],['tedious', 'boring'],['monarchy', 'regality'], ['via', 'through'],['insipid', 'tasteless'],['controversial', 'contentious'],['sparse', 'scarce'],['unruly', 'rowdy'],['frugal', 'thrifty'],['hapless', 'unlucky'],['comely', 'attractive'],['cygnet', 'young swan'],['rancid', 'smelly'], ['stale', 'old'],['intuitive', 'instictive'],['meticulous', 'careful'],['irate', 'angry'],['quell', 'end'],['surly', 'unfriendly'],['temperamental', 'moody'],['dour', 'stern'],['solemn', 'dignified'],['wistful', 'longing'],['sage', 'wise'],['aspiration', 'ambition'],['crypt', 'tomb'],['bough', 'branch'], ['dwell', 'live'],['artful', 'skilful'], ['heedless', 'imprudent'],['impart', 'convey'], ['intercede', 'mediate'], ['amply', 'generously'], ['stolid', 'calm'], ['stolid', 'wooden'], ['corrosive', 'erroding'],['munifience', 'generosity'], ['lunar', 'moonlike'], ['seldom', 'infrequent'],['secrete', 'produce'], ['adhere', 'stick'], ['adhere', 'cling'],['abate', 'lessen'],['dispute', 'debate'], ['dispute', 'conflict'],['droll', 'funny'], ['complicity', 'involvement'],['unwitting', 'unknowing'], ['balk', 'refuse'], ['remote', 'isolated'], ['intrepid', 'resourceful'],['discreet', 'tactful'], ['grinding', 'relentless'],['rural','rustic'],['mysterious','inexplicable'],['exotic','foreign'],['apprehensive', 'anxious'],['comforted','consoled'],['scolded', 'blamed'],['amusing','entertaining'], ['rotate', 'revolve'],['intimidated','daunted'],['hazardous', 'dangerous'],['chased','pursued'],['ample','plentiful'],['assembly','gathering'],['accurate', 'correct'],['amiable', 'friendly'],['abode', 'dwelling'],['animosity', 'hatred'], ['apparition','ghost'],['chivalrous', 'gallant'],['countenance', 'face'],['diminutive', 'small'],['deride', 'mock'], ['deride', 'ridicule'],['deceive', 'mislead'],['dubious', 'doubtful'],['virtuous', 'moral'], ['partial', 'incomplete'],['sincere', 'trustworthy'],['paltry', 'puny'],['paltry', 'worthless'],['benevolent', 'kind'], ['bewildered', 'puzzled'],['sleuth', 'investigator'],['woe', 'sadness'],['scoop', 'spoon'], ['amateur','incompetent'],['fluctuating', 'changing'],['taciturn', 'untalkative'], ['dissatified', 'unhappy'],['deliberate', 'ponder'], ['deliberate', 'intentional'], ['affable', 'friendly'], ['demure', 'shy'], ['bony', 'skinny'],['dishevelled', 'messy'],['turbulent', 'agitated'],['unpalatable', 'unappealing'], ['hellix', 'twist'], ['debilitate', 'weaken'], ['contract', 'shrink'], ['lethargic', 'sleepy'],['ornate','decorative'], ['loathe', 'hate'],['mournful', 'sad'],['onerous','shameful'], ['counterfeit', 'fake'], ['commence', 'begin'],['egotistical', 'selfish'], ['avaricious', 'greedy'],['fastidious', 'fussy'], ['lenient', 'merciful'],['callous','insensitive'],['versatile', 'flexible'], ['versatile', 'adaptable'], ['fortuitous', 'fortunate'], ['fortuitous', 'lucky'], ['conceited', 'vain'], ['infamous', 'notorious'],['secluded', 'hidden'], ['apprehensive', 'anxious'], ['abandon', 'leave'], ['abbreviate', 'shorten'], ['abode', 'dwelling'], ['abrupt', 'sudden'], ['abundant', 'plentiful'], ['accommodation', 'room'], ['accurate', 'correct'], ['adversity', 'misfortune'], ['aggressive', 'pushy', 'quarrelsome'], ['altitude', 'height'], ['amiable', 'friendly'], ['ample', 'plentiful'], ['animosity', 'hatred'], ['annual', 'yearly'], ['anonymous', 'nameless'], ['anticipate', 'expect'], ['apparel', 'clothes'], ['apparition', 'ghost'], ['arrogant', 'proud', ' haughty'], ['assembly', 'gathering'] , ['assistance', 'help'], ['astonishment', 'surprise'], ['attired', 'dressed'], ['audacity', 'impudence', ' insolence'], ['austere', 'severe'], ['avaricious', 'greedy'], ['beverage', 'drink'], ['brief', 'short'], ['catastrophe', 'disaster'], ['cautious', 'careful'], ['cease', 'stop'], ['celebrated', 'famous'], ['centre', 'middle'], ['chivalrous', 'gallant'], ['circular', 'round'], ['colossal', 'huge'], ['commence', 'begin'], ['compel', 'force'], ['comprehend', 'understand'], ['conceal', 'hide'], ['conclusion', 'end'], ['conversation', 'talk'], ['countenance', 'face'], ['courageous', 'brave'], ['courteous', 'polite'], ['deceive', 'mislead', ' cheat'], ['deficiency', 'shortage'], ['demonstrate', 'show'], ['denounce', 'condemn'], ['deride', 'mock'], ['desert', 'forsake'], ['despise', 'scorn'], ['detest', 'hate'], ['diminish', 'lessen'], ['diminutive', 'small'], ['disperse', 'scatter'], ['drowsy', 'sleepy'], ['dubious', 'doubtful'], ['edible', 'eatable'], ['elude', 'escape'], ['eminent', 'famous'], ['encircle', 'surround'], ['endeavour', 'attempt'], ['energetic', 'active'], ['enormous', 'huge'], ['excavate', 'dig'], ['exhibit', 'show'], ['extravagance', 'waste'], ['fatigue', 'weariness'], ['ferocious', 'fierce'], ['frigid', 'cold'], ['generous', 'kind'], ['gleaming', 'shining'], ['gorgeous', 'beautiful', ' splendid'], ['gratitude', 'thankfulness'], ['grave', 'serious'], ['gruesome', 'horrible'], ['indolent', 'lazy'], ['industrious', 'busy'], ['infuriated', 'angry'], ['inquire', 'ask'], ['insane', 'mad'], ['insolent', 'cheeky'], ['intention', 'purpose'], ['interior', 'inside'], ['intoxicated', 'drunk'], ['invaluable', 'priceless'], ['invincible', 'unbeatable'], ['isolation', 'loneliness'], ['jovial', 'jolly'], ['loathe', 'hate'], ['lubricate', 'oil'], ['mammoth', 'huge'], ['margin', 'edge'], ['mariner', 'sailor'], ['matrimony', 'marriage'], ['maximum', 'most'], ['mechanism', 'machinery'], ['melancholy', 'sad'], ['minimum', 'least'], ['moist', 'damp'], ['motionless', 'still'], ['mute', 'dumb'], ['necessity', 'need'], ['obstinate', 'stubborn'], ['odour', 'smell'], ['omen', 'sign'], ['option', 'choice'], ['pandemonium', 'uproar'], ['pathetic', 'pitiful'], ['peculiar', 'odd'], ['penetrate', 'pierce'], ['perceive', 'see'], ['persuade', 'coax'], ['peruse', 'read'], ['portion', 'part'], ['procure', 'obtain'], ['prohibit', 'forbid'], ['prominent', 'outstanding'], ['prompt', 'quick'], ['puny', 'weak'], ['putrid', 'rotten'], ['rare', 'scarce'], ['reckless', 'rash'], ['recollect', 'remember'], ['regret', 'sorrow'], ['reluctant', 'unwilling'], ['reveal', 'show'], ['robust', 'strong'], ['ruddy', 'red'], ['scanty', 'scarce'], ['seclusion', 'privacy'], ['sever', 'separate'], ['significance', 'importance'], ['slender', 'slim'], ['solitude', 'loneliness'], ['spectre', 'ghost'], ['squander', 'waste'], ['stationary', 'still'], ['sufficient', 'enough'], ['summit', 'top'], ['tempestuous', 'stormy'], ['tranquil', 'calm'], ['unite', 'join'], ['vacant', 'empty'], ['valiant', 'brave'], ['vanquish', 'conquer'], ['velocity', 'speed']]+[["Abode","house","residence","dwelling","habitat","domicile","quarters"],["Abundance","profusion","plenty","wealth","copiousness"],["Alert","attentive","vigilant","observant","ready"],["Altitude","height","elevation","loftiness"],["Antiquity","relic","artefact","remains"],["Apprehensive","anxious","worried","nervous","hesitant","concerned"],["Benefit","advantage","profit","use","value","subsidy","allowance"],["Bewildered","confuzed","puzzled","bemused","baffled","disorientated","dazed"],["Clemency","mercy","leniency","compassion","moderation","kindness"],["complex","multifaceted","compound","composite","intricate","convoluted","complicated"],["concave","dipped","hollow"],["Conceited","proud","vain","superior","snobbish","smug","narcissistic"],["Conclusion","deduction","assumption","inference","supposition","decision","finale"],["content","gratified","satisfied","relaxed","substance","matter","subject"],["Contract","agreement","bond","convention","diminish","shrink","wither","treaty"],["convex","curved","arched","bowed"],["counterfeit","fake","forged","imitation","phony","reproduction"],["Covet","want","crave","hanker","desire",""],["Coy","shy","bashful","modest","timid","demure","diffident"],["Debrief","question","interrogate","interview","examine","quiz","probe"],["Deliberate","cautious","considered","metodical","wary","thoughtful","intentional","premeditated"],["Demolished","destroyed","devastated","ruined","thrashed","devoured","annihilated"],["detrimental","harmful","unfavourable","negative","injurious","damaging"],["Device","machine","tool","contraption","mechanism","apparatus"],["Dismal","gloomy","depressing","drab","grim","murky"],["Drought","lack","dificiency","scarcity","famine","dearth"],["Emerge","arise","appear","occur","develop","materialise"],["evaluation","assessment","appraisal","estimation","calcualtion","costing"],["exposure","acquaintance","revelation","coverage","publicity","experience"],["Feign","pretend","fake","simulate","invent","assume"],["Flamboyant","ostentatious","exuberant","confident","lively","buoyant","animated","energetic","vibrant","vivacious","extravagant","theatrical","showy"],["Foe","enemy","adversary","rival","antagonist","opponent"],["frivolous","jokey","light-hearted","facetious","fatuous","inane","shallow","superficial","senseless","thoughtless"],["gentle","kind","kindly","tender","benign","humane","lenient","merciful","forgiving","forbearing","sympathetic","considerate","understanding","clement","compassionate","benevolent"],["Gregarious","sociable","social","company-loving","companionable","convivial","clubbable"],["Habitat","haunt","locale","surroundings","environment","territory"],["Helix","spiral","coil","curl","corkscrew","twist","twirl","loop","gyre","whorl","scroll"],["high","tall","lofty","towering","soaring","elevated"],["Humble","meek","deferential","respectful","submissive","self-effacing","unassertive","unpresuming"],["Inaugurate","initiate","begin","start","institute","launch"],["Incision","cut","opening","slit"],["Inconspicuous","unobtrusive","unnoticeable","unremarkable","unspectacular","unostentatious","unimposing","undistinguished","unexceptional","modest","unassuming","discreet","hidden","concealed"],["Inferior","lesser","second-class","second-fiddle","minor","subservient","lowly","humble","menial"],["Intense","great","acute","enormous","fierce","severe","extreme","high","exceptional","extraordinary","harsh","strong","powerful","potent","vigorous"],["interpret","explain","elucidate","expound","explicate","clarify"],["Nauseous","sick","nauseated","queasy","bilious"],["nurseryman","a","worker","in","or","owner","of","a","plant","or","tree","nursery"],["obscure","unclear","uncertain","unknown","in","doubt","doubtful","dubious","mysterious","hazy","vague","indeterminate","concealed","hidden"],["passive","submissive","acquiescent","unresisting","yielding","unassertive","non-resistant","compliant","complaisant","pliant","resigned","obedient","docile","tractable","malleable","pliable","meek","subdued","deferential","forbearing"],["perplexed","puzzled"],["polarity","difference","separation","opposition","contradiction"],["Pompous","imperious","overbearing","domineering","magisterial","pontifical","sententious","grandiose","affected","stiff","pretentious","puffed","up","arrogant","vain","haughty","proud","conceited"],["Precarious","uncertain","insecure","unreliable","unsure","unpredictable","undependable","risky","hazardous","dangerous","unsafe"],["resort","centre","spot","retreat","haunt","use","utilize"],["Rigid","stiff","hard","firm","inflexible","strict","severe","stern","stringent"],["Shrink","contract","diminish","lessen","reduce","decrease","dwindle","narrow","shorten","slim","decline","condense","deflate","shrivel","wither"],["Subdued","sombre","low-spirited","downcast","sad","dejected","depressed","low","gloomy","despondent","dispirited"],["Submissive","compliant","yielding","malleable","acquiescent","accommodating","amenable","tractable","manageable","unassertive","non-resisting","passive","obedient","biddable","dutiful","duteous","docile","ductile","pliant","meek","timid","mild","patient","resigned","forbearing","subdued","humble","self-effacing","spiritless","Subterfuge","trickery","intrigue","guile","evasion","deceit","deception","dishonesty"],["superfluous","surplus","redundant","unneeded"],["Tempestuous","turbulent","stormy","tumultuous","violent","wild","lively","heated","explosive","uncontrolled","unrestrained","feverish","hysterical","frenetic","frenzied","frantic"],["Tranquil","peaceful","restful","reposeful","calm","quiet","still","serene","placid","relaxing","soothing","undisturbed","idyllic","halcyon","mild","pleasant"],["Trivial","unimportant","insignificant","inconsequential","minor","frivolous","superficial","shallow","unthinking"],["unfathomable","inscrutable","incomprehensible","enigmatic","incalculable","indecipherable","obscure","esoteric","abstruse","puzzling","cryptic","deep","immeasurable"],["Uniform","constant","consistent","steady","invariable","unvarying","unfluctuating","unvaried","unchanging","unwavering","undeviating","stable","static","sustained","regular","fixed","even","equal","equable","monotonous"],["Unorthodox","unconventional","unusual","uncommon","unwonted","out","of","the","ordinary","radical","revolutionary","nonconformist","irregular","offbeat","abnormal","extreme","divergent","aberrant","anomalous","bizarre","outlandish"],["vicarious","indirect","second-hand","secondary","derivative","surrogate","substitute"],["Volatile","tense","strained","fraught","uneasy","uncomfortable","charged","explosive","eruptive","inflammatory","turbulent","unpredictable","changeable","variable","inconstant","inconsistent","uncertain","erratic","irregular","unstable","turbulent","unsteady","unsettled","unreliable","undependable"],["Wide","gaping","broad","extensive","spacious","open","vast"],["wound","insult","blow","slight","offence","affront"]]
def goodchoice(a,b,ll):
if a==b:
return True
else:
for i in ll:
if a in i and b in i:
return True
return False
def chooseanelem(a,ll):
while True:
x=random.sample(ll,1)
if not goodchoice(x,a,ll):
return x
break
def mrandomsample(ll):
while True:
x,y,z,w,h=random.sample(nlist, 5)
if not goodchoice(x,y,ll) and not goodchoice(x,z,ll) and not goodchoice(x,w,ll) and not goodchoice(x,h,ll):
return x,y,z,w,h
break
print len(nlist)
for x in nlist:
for j in nlist:
if set(x).issubset(set(j)) and set(x)<>set(j):
nlist.remove(x)
break
print len(nlist)
def choose(score):
x,y,z,w,h=mrandomsample(nlist)
s=score
x= [x[0], x[random.randrange(1,len(x))]]
i=random.randrange(5)
ll=[y[0],z[0],w[0],h[0]]
ll.insert(i,x[1])
print "choose a synonym for "+x[0]
for a in range(5):
print str(a)+")"+ll[a]
res=raw_input()
if str(res) and str(res)==str(i):
s=s+1
else:
print "No! the answer is "+ll[i]+"\n\n"
return s
score=0
for i in range(1,51):
print "Question number "+str(i)+"/50"
score=choose(score)
print "You scored "+str(100*score/50.0)+"%"