Skip to content

Instantly share code, notes, and snippets.

@XChrisUnknownX
Created October 29, 2019 16:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save XChrisUnknownX/304b958840b3a4354333a60ffa80f277 to your computer and use it in GitHub Desktop.
Save XChrisUnknownX/304b958840b3a4354333a60ffa80f277 to your computer and use it in GitHub Desktop.
Stenonymous Suite Early Version without QA Generator
import time
import random
import random as r
import sys
# Thanks to Noah Collin for helping me to work out conceptually how to make this program better. He is a true visionary and thinker.
# Thanks to the stenographers that gave me ideas leading to the creation of this program.
# QA() will be the QA Generator
# fingerdrill() will be the fingerdrill Generator
# menu() will be our menu
def QA():
# I am going to discontinue this module for now. It's a very long-term project and requires a level of focus I don't have.
# This is a placeholder for the QA generator structure.
# Dear Chris, check your birth decider and ensure it returns strings.
# all uppercase are now destroyed by the capitalizer. Delete them.
def capitalizer(list):
count = 0
newlist = []
for a in list:
newword = list[count].capitalize()
count += 1
newlist.append(newword)
return newlist
def capstring(string):
newword = string.capitalize()
return newword
carturnlowercase = ["left","right","straight","left turn","right turn"]
carturnuppercase = capitalizer(carturnlowercase)
def chooser(list):
x = random.choice(list)
return x
def downoruptheroadlowercase():
x = random.choice(["down the ","up the ","along the "])
y = random.choice(["street","road","avenue","parkway","thruway","highway","street","road","avenue","way"])
xy = x + y
return xy
roadreferencelowercase = ["street","road","avenue","parkway","thruway","highway","street","road","avenue","way"]
roadreferenceuppercase = capitalizer(roadreferencelowercase)
updownalonglowercase = ["down the","up the","along the"]
updownalonguppercase = capitalizer(updownalonglowercase)
def downoruptheroadupppercase():
x = random.choice(["Down the ","Up the ","Along the "])
y = random.choice(["street","road","avenue","parkway","thruway","highway","street","road","avenue"])
xy = x + y
return xy
tlightcolorlowercase = ["red","yellow","green","red","yellow","green","blue"]
tlightcoloruppercase = capitalizer(tlightcolorlowercase)
def caraccidentincidentlowercase():
x = random.choice(["car ","vehicle ","vehicular ","motor vehicle "])
y = random.choice(["accident","incident","incidence"])
xy = x + y
return xy
def caraccidentincidentuppercase():
x = random.choice(["Car ","Vehicle ","Vehicular ","Motor vehicle "])
y = random.choice(["accident","incident","incidence"])
xy = x + y
return xy
injurylowercase = ["arm","head","leg","forehead","shoulder","foot","hand","chest","stomach","eye","left foot","right foot","left hand","right hand","left leg","right leg","left arm","right arm","back","spine"]
injuryuppercase = capitalizer(injurylowercase)
brakinglowercase = ["hit the brake","pumped the brake","pumped the brakes","hit the brakes","held the brake","held the brakes","stepped on the brake","stepped on the brakes","slammed on the brake","slammed on the brakes"]
brakinguppercase = capitalizer(brakinglowercase)
socialmedia = ["SnapChat","Facebook","Twitter","Instagram","LinkedIn","Whats App","Reddit","Discord","Myspace","Facebook","Instagram","Twitter"]
def cellorcellphone():
x = random.choice(["T Mobile","Verizon","Verizon Wireless","Sprint","Boost Mobile","Boost","AT & T","Cricket"])
y = random.choice(["cell","cellphone","cellular phone","mobile phone","phone"])
xy = x + y
return xy
cellorcellphonelowercase = ["cell","cellphone","cellular phone","mobile phone","phone"]
cellorcellphoneuppercase = capitalizer(cellorcellphonelowercase)
leftorrightlowercase = ["left","right"]
leftorrightuppercase = capitalizer(leftorrightlowercase)
upordownlowercase = ["up","down"]
upordownuppercase = capitalizer(upordownlowercase)
highorlowlowercase = ["high","low"]
highorloawuppercase = capitalizer(highorlowlowercase)
greetingslowercase = ["hello","good morning","good afternoon","salutations","good evening","greetings","hi","hey","hey there","hello there","hi there"]
greetingsuppercase = capitalizer(greetingslowercase)
shortorlonglowercase = ["short","long","very short","very long","not too short","not too long","too long","too short","not very short","not very long"]
shortorlonguppercase = capitalizer(shortorlonglowercase)
def wheelposition():
x = random.choice(["10 and 2","12 and 2","10 and 2","9 and 3","4 and 8","2 and 10","3 and 9"])
y = random.choice(["position",""])
xy = x + y
return xy
def carcreator():
make = random.choice(["Hudson Motor Car Company","MG","Tatra","Volkswagen","American Motors","Lexus","Aston Martin","Daihatsu","British Leyland Motor Corporation","Sunbeam","Simca","Nash","Kia","Suzuki","BMC","Scion","Jordan","Talbot","Minerva","Shelby","Toyota","Hyundai","Ford","BMW","Porsche","Aston Martin","Audi","Bugatti","Chevrolet","Infiniti","Geely","Jeep","Lamborghini","Lancia","Land Rover","Maybach","Mercedes-Benz","Nissan","Opel","Pontiac","Skoda Auto","Smart","Tesla","Volvo","Maserati","Jaguar","Tata Motors"])
# The logic for model is going to be painful.
# Perhaps we'll just fudge it. Yes. We will.
model = random.choice(["Vanquish","DB11","Vantage","A4","A3","A6","A5","TT","A8","Q5","R8","Q7","Q3","Veyron","Malibu","Malibu Hybrid","Corvette","Camaro","Fiesta","Fusion","Mustang","Taurus","Ecosport","Escape","Edge","Flex","Explorer","Expedition","Ranger","Transit Connect","F-150","Super Duty","Transit","Fusion Hybrid","Fusion Energi","Transit Connect Commercial","Transit CC-CA","E-Series","X7","QX80","Wrangler","Cherokee","Urus","Huracan","Ypsilon","Evoque","Discovery","Range Rover","Rover Velar","Landaulet","AMG GT","GT 53","Maxima","Altima","Sentra","Sonata"])
description = random.choice(["car","truck","van","flatbed","pickup truck","18-wheeler","tractor trailer","bike","SUV"])
if description == "car" or description == "truck" or description == "van" or description == "pickup truck":
if description == "car":
description = random.choice(["car","sedan","four-door","four-seater","car","sedan"])
else:
pass
if description == "SUV":
description = random.choice(["sport utility vehicle","SUV"])
else:
pass
wheels = "four"
axles = "two"
frontwheels = "two"
backwheels = "two"
windows = random.choice(["two","four"])
if description == "car":
seats = "four"
elif description == "van":
seats = "eight"
else:
seats = "two"
elif description == "flatbed":
wheels = "eight"
axles = "four"
frontwheels = "four"
backwheels = "eight"
windows = "two"
seats = "two"
elif description == "18-wheeler" or description == "tractor trailer":
wheels = "eighteen"
axles = "five"
frontwheels = "ten"
backwheels = "eight"
windows = "two"
seats = "two"
elif description == "bike":
description = random.choice(["bike","motorbike","motorcycle"])
wheels = "two"
axles = "zero"
frontwheels = "one"
backwheels = "one"
seats = "one"
windows = "zero"
else:
wheels = "four"
axles = "two"
frontwheels = "two"
backwheels = "two"
windows = "two"
seats = "four"
description = "car"
colorexterior = random.choice(["dark red","red","maroon","purple","light red","green","dark green","gray","light gray","dark gray","silver","gold","brown","light brown","dark brown","blue","light blue","dark blue","turquoise","teal","lavender","black","yellow","bright yellow","orange"])
colorinterior = random.choice(["dark red","red","maroon","purple","light red","green","dark green","gray","light gray","dark gray","silver","gold","brown","light brown","dark brown","blue","light blue","dark blue","turquoise","teal","lavender","black","yellow","bright yellow","orange"])
speeds = []
x = 10
while x <= 120:
xs = str(x)
speeds.append(xs)
x += 1
speed = random.choice(speeds)
return [make,model,description,wheels,axles,frontwheels,backwheels,windows,seats,colorexterior,colorinterior,speed]
def weightpicker():
description = random.choice(["fat","skinny","average","medium","obese","thin","heavyset","lightweight","middling","stocky","chubby","scrawny"])
if description == "fat" or description == "obese" or description == "heavyset" or description == "stocky":
stat = random.randint(200,400)
stats = str(stat)
elif description == "skinny" or description == "lightweight" or description == "thin" or description == "scrawny":
stat = random.randint(90,120)
stats = str(stat)
elif description == "average" or description == "medium" or description == "middling" or description == "chubby":
stat = random.randint(120,200)
stats = str(stat)
else:
return ["I am a dinosaur. Also there's an error in the weightpicker module.","I am a dinosaur. Also there's an error in the weightpicker module."]
return [description,stats]
def heightpicker():
description = random.choice(["tall","short","average","medium","tiny","little","big","towering","standard"])
if description == "tall" or description == "big" or description == "towering":
stat = random.randint(180,210)
stat = stat/30
stat = round(stat,1)
stats = str(stat)
elif description == "short" or description == "tiny" or description == "little":
stat = random.randint(120,150)
stat = stat/30
stat = round(stat,1)
stats = str(stat)
elif description == "average" or description == "medium" or description == "standard":
stat = random.randint(150,180)
stat = stat/30
stat = round(stat,1)
stats = str(stat)
else:
return ["I am a dinosaur. Also there's an error in the heightpicker module.","I am a dinosaur. Also there's an error in the heightpicker module."]
return [description,stats]
professionlowercase = ["accountant","cashier","clerk","lab assistant","stenographer","sonographer","lawyer","attorney","judge","manager","officer","police officer","court officer","corrections officer","manufacturer","laborer","ironworker","carpenter","scientist","biologist","psychologist","psychiatrist","podiatrist","doctor","medical doctor","virologist","technician","electrician","heating engineer","electrical engineer","software engineer","software designer","court reporter","concierge","career criminal","business manager","cardiologist","stripper","firefighter","congressperson","plumber","thief","actor","model","fashion mode","typist","transcriber","transcriptionist","pianist","secretary","paralegal","medical assistant","x-ray technician","human resources representative","rep","orator","speaker","mediator","arbitrator","blogger","vlogger","chef","sushi chef","sous chef","mariachi player","musician","artist","graphic designer","rockstar","country singer","DJ","disc jockey","teacher","professor","instructor","chiropractor","rapper","pop star","math teacher","science teacher","social studies teacher","surgeon","computer scientist","video game designer","broker","insurance broker","stock broker","croupier","handyman","janitor","roofer","drug dealer","marijuana dealer","economist","magistrate","computer tech","exterminator","watch dealer","auctioneer","wine collector","mathmetician","tailor","cook","cleaner","taxidermist","mortician","senator","legislator","physicist","car dealer","salesperson","cashier","performer","clown","acrobat","dancer","programmer","violinist"]
professionuppercase = capitalizer(professionlowercase)
aoranlowercase = ["a","a","a","a","an"]
aoranuppercase = capitalizer(aoranlowercase)
def racepicker():
# As a side note, I realize the concept of race can bother people and this module will therefore probably be discovered by someone someday and maybe be objected to, but stenographers should know and/or get a feel for taking down anything that may be said, and therefore this is necessary.
nationality = random.choice([
"Canadian",
"American",
"Brazilian",
"Argentine",
"Indian",
"Native American",
"Israeli",
"Chilean",
"Swiss",
"Colombian",
"Bangladeshi",
"Cuban",
"Jordanian",
"Austrian",
"Costa Rican",
"Afghan",
"German",
"Angolan",
"French",
"Honduran",
"Guatemalan",
"Kenyan",
"Cameroonian",
"British",
"Australian",
"Albanian",
"Algerian",
"Andorran",
"Armenian",
"Azerbaijani",
"Bahamian",
"Barbadian",
"Belgian",
"Belorussian",
"Beninese",
"Bhutanese",
"Bolivian",
"Bosnian",
"Briton",
"Bruneian",
"Bulgarian",
"Burmese",
"Burundian",
"Cambodian",
"Cameroonian",
"Chadian",
"Chinese",
"Congolese",
"Croatian",
"Cypriot",
"Czech",
"Dane",
"Dominican",
"Ecuadorean",
"Egyptian",
"Salvadorean",
"Entrean",
"Estonian",
"Ethiopian",
"Fijian",
"Finn",
"Gabonese",
"Gambian",
"Georgian",
"Ghanaian",
"Greek",
"Grenadian",
"Guinean",
"Guyanese",
"Haitian",
"Dutch",
"Hungarian",
"Icelandic",
"Indonesian",
"Iranian",
"Iraqi",
"Irish",
"Italian",
"Jamaican",
"Japanese",
"Kazakh",
"Korean",
"Kuwaiti",
"Laotian",
"Latvian",
"Liberian",
"Libyan",
"Lithuanian",
"Macedonian",
"Puerto Rican",
"Madagascan",
"Malawian",
"Malaysian",
"Maldivian",
"Malian",
"Maltese",
"Moldovan",
"Mexican",
"Montenegrin",
"Moroccan",
"Mozambican",
"Namibian",
"Nepalese",
"Nicaraguan",
"Nigerian",
"Norwegian",
"Pakistani",
"Panamanian",
"Paraguayan",
"Peruvian",
"Filipino",
"Polish",
"Portuguese",
"Qatari",
"Romanian",
"Russian",
"Rwandan",
"Saudi",
"Scottish",
"Senegalese",
"Serbian",
"Singaporean",
"Slovakian",
"Slovenian",
"Somali",
"Spanish",
"Sri Lankan",
"Sudanese",
"Swazi",
"Swedish",
"Syrian",
"Taiwanese",
"Tadzhik",
"Tanzanian",
"Thai",
"Trinidadian",
"Tunisian",
"Turkish",
"Ugandan",
"Ukrainian",
"Uruguayan",
"Uzbek",
"Venezuelan",
"Vietnamese",
"Welsh",
"Yemeni",
"Zimbabwean"
])
# The country of origin logic will go here.
if nationality == "Canadian":
coo = "Canada"
elif nationality == "American":
coo = random.choice(["the United States of America","America"])
elif nationality == "Brazilian":
coo = "Brazil"
elif nationality == "Argentine":
coo = "Argentina"
elif nationality == "Indian":
coo = "India"
elif nationality == "Native American":
coo = "America"
# Must do further research to learn whether to randomize the nations here.
coo = random.choice(["America","Navajo","Cherokee","Choctaw","Sioux","Chippewa","Apache","Blackfeet","Iroquois","Pueblo"])
elif nationality == "Israeli":
coo = "Israel"
elif nationality == "Chilean":
coo = "Chile"
elif nationality == "Swiss":
coo = "Switzerland"
elif nationality == "Colombian":
coo = "Colombia"
elif nationality == "Bangladeshi":
coo = "Bangladesh"
elif nationality == "Cuban":
coo = "Cuba"
elif nationality == "Jordanian":
coo = "Jordan"
elif nationality == "Austrian":
coo = "Austria"
elif nationality == "Costa Rican":
coo = "Costa Rica"
elif nationality == "Afghan":
coo = "Afghanistan"
elif nationality == "German":
coo = "Germany"
elif nationality == "Angolan":
coo = "Angola"
elif nationality == "French":
coo = "France"
elif nationality == "Honduran":
coo = "Honduras"
elif nationality == "Guatemalan":
coo = "Guatemala"
elif nationality == "Kenyan":
coo = "Kenya"
elif nationality == "Cameroonian":
coo = "Cameroon"
elif nationality == "British":
coo = "the United Kingdom"
nationality = random.choice(["British","English"])
elif nationality == "Australian":
coo = "Australia"
elif nationality == "Albanian":
coo = "Albania"
elif nationality == "Algerian":
coo = "Algeria"
elif nationality == "Andorran":
coo = "Andora"
elif nationality == "Armenian":
coo = "Armenia"
elif nationality == "Azerbaijani":
coo = "Azerbaijan"
elif nationality == "Bahamian":
coo = "the Bahamas"
elif nationality == "Barbadian":
coo = "Barbados"
elif nationality == "Belgian":
coo = "Belgium"
elif nationality == "Belorussian":
coo = "Belorus"
elif nationality == "Beninese":
coo = "Benin"
else:
nationality = "American"
coo = random.choice(["the United States of America","America"])
return [nationality,coo]
def times():
hr = 1
min = 0
times = []
identifier = "a.m."
while hr <= 12:
min = 0
for i in range(0,120):
if min >= 60:
min = 59
else:
pass
if min >= 60:
min = 0
else:
pass
if i > 60:
identifier = "p.m."
else:
identifier = "a.m."
pass
if min == 0:
mins = "00"
elif min == 1:
mins = "01"
elif min == 2:
mins = "02"
elif min == 3:
mins ="03"
elif min == 4:
mins="04"
elif min == 5:
mins = "05"
elif min == 6:
mins = "06"
elif min == 7:
mins ="07"
elif min == 8:
mins = "08"
elif min == 9:
mins = "09"
else:
mins = str(min)
hrs = str(hr)
clock = hrs + ":"+mins+" "+identifier
times.append(clock)
min += 1
if min == 60:
min = 0
else:
pass
hr += 1
def streets():
pass
x = 1
streets = []
while x < 301:
xs = str(x)
if x < 10:
if xs[0] == "1":
suffix = "st"
elif xs[0] == "2" or xs[0] == "4" or xs[0] == "5" or xs[0] == "6" or xs[0] == "7" or xs[0] == "8" or xs[0] == "9":
suffix = "th"
elif xs[0] == "3":
suffix = "rd"
else:
return ["error in the streets code","error in the streets code"]
elif x < 100:
if xs[1] == "1":
suffix = "st"
elif xs[1] == "2" or xs[1] == "4" or xs[1] == "5" or xs[1] == "6" or xs[1] == "7" or xs[1] == "8" or xs[1] == "9" or xs[1] == "0":
suffix = "th"
elif xs[1] == "3":
suffix = "rd"
else:
return ["error in the streets code 2","error in the streets code 2"]
else:
if xs[2] == "1":
suffix = "st"
elif xs[2] == "2" or xs[2] == "4" or xs[2] == "5" or xs[2] == "6" or xs[2] == "7" or xs[2] == "8" or xs[2] == "9" or xs[2] == "0":
suffix = "th"
elif xs[2] == "3":
suffix = "rd"
else:
return ["error in the streets code 3","error in the streets code 3"]
streets.append(xs + suffix + "Street")
x += 1
return streets
def avenues():
pass
pass
x = 1
avenues = []
while x < 301:
xs = str(x)
if x < 10:
if xs[0] == "1":
suffix = "st"
elif xs[0] == "2" or xs[0] == "4" or xs[0] == "5" or xs[0] == "6" or xs[0] == "7" or xs[0] == "8" or xs[0] == "9":
suffix = "th"
elif xs[0] == "3":
suffix = "rd"
else:
return ["error in avenues code","error in avenues code"]
elif x < 100:
if xs[1] == "1":
suffix = "st"
elif xs[1] == "2" or xs[1] == "4" or xs[1] == "5" or xs[1] == "6" or xs[1] == "7" or xs[1] == "8" or xs[1] == "9" or xs[1] == "0":
suffix = "th"
elif xs[1] == "3":
suffix = "rd"
else:
return ["error in avenues code 2","error in avenues code 2"]
else:
if xs[2] == "1":
suffix = "st"
elif xs[2] == "2" or xs[2] == "4" or xs[2] == "5" or xs[2] == "6" or xs[2] == "7" or xs[2] == "8" or xs[2] == "9" or xs[2] == "0":
suffix = "th"
elif xs[2] == "3":
suffix = "rd"
else:
return ["error in avenues code 3","error in avenues code 3"]
avenues.append(xs + suffix + "Avenue")
x += 1
return avenues
times = times()
streets = streets()
avenues = avenues()
def createcharacter():
#This very first part decides the character's name and gender.
malenames = ["Andrew","Anthony","Angel","Abel","Alexander","Allen","Alan","Aaron","Axel","Adam","Ari","Abraham","Antonio","Augustus","Amir","Abdi","Alfred","Alvin","Andre","Andres","Arthur","Angelo","Albert","Arman","Ace","Alejandro","Armando","Bernard","Bjorn","Bernie","Barney","Bailey","Billy","Barry","Ben","Bruce","Benjamin","Booker","Bob","Barnabus","Baird","Brian","Bryan","Brock","Boggy","Boris","Christopher","Claude","Charles","Cornelius","Charlie","Chris","Carl","Chase","Corey","Connor","Craig","Clifford","Cyrus","Chopper","Chad","Constantine","David","Dominic","Dominick","Domenick","Dan","Daniel","Daven","Darius","Don","Donald","Dick","Darren","Daryl","Dwayne","Dane","Drake","Desmond","Doc","Dennis","Dimitri","Dale","Dante","Edgar","Edward","Edwin","Edmond","Edmund","Ed","Edd","Eric","Eddie","Elijah","Elton","Ernie","Frank","Fred","Fredrick","Frederick","Frederico","Forest","Falco","Fenton","Gary","Garry","Greg","Gabriel","Gregg","Gerard","Gilbert","Glen","Glenn","Hank","Herbert","Hercules","Hani","Hugo","Hector","Horace","Harry","Harold","Igor","John","Jacob","Jon","Jesus","Jakub","Jeremy","Jonathan","Jeffrey","Johanathan","Johnathan","Jaime","Jamie","James","Jerry","Jim","Jimmy","Junior","Jack","Jake","Jeremiah","Josh","Joshua","Jaquan","Kris","Kristopher","Ken","Kenny","Kenneth","Kyle","Konstantine","Kristofer","Kobi","Kobe","Kevin","Keith","Lewis","Luis","Lambert","Linus","Loki","Lonny","Lenny","Luke","Lucas","Lester","Lukas","Lars","Lance","Loren","Marcus","Mark","Markus","Marc","Michael","Leslie","Larry","Lawrence","Mike","Mikhail","Martin","Marty","Melvin","Morgan","Mallow","Matthew,","Matt","Manny","Moe","Max","Morris","Milo","Montel","Maximus","Mordred","Merlin","Nathan","Nathaniel","Nick","Nicholas","Nikolas","Neil","Nik","Noggy","Oggy","Ozzy","Oswald","Oliver","Oz","Orlan","Orion","Omar","Peter","Piotr","Patrick","Pablo","Paco","Packie","Patrizio","Perseus","Pat","Paul","Poe","Paulie","Quin","Quinn","Quenton","Quinten","Quintin","Quade","Richie","Richard","Rich","Ryan","Ron","Ronald","Remy","Randy","Raymond","Rupert","Randolph","Randolf","Regnier","Raz","Rick","Ricky","Ricardo","Raul","Robert","Rob","Roc","Rocco","Sam","Samuel","Sargon","Steve","Steven","Stephen","Stephan","Syed","Sammy","Saul","Sean","Shawn","Sal","Salvatore","Simon","Stuart","Stu","Stewart","Sonny","Thomas","Thom","Tom","Travis","Tim","Timothy","Tyler","Toren","Terry","Tor","Theodore","Thor","Tai","Uther","Ulfric","Ugo","Vincent","Vance","Vinny","Vin","Wen","Waldo","Walter","Wayne","William","Will","Wally","Xin","Xavier","Yuri","Zoro","Zack","Zackary","Zachary","Zach","Zane"]
# There are about 309 male names.
femalenames = ["Anna","Ana","Annie","Alexandra","Agatha","Althea","Arlene","Ali","Amaya","Amy","Alexa","Alana","Alice","Alissandra","Angel","Amanda","Alexandria","Ami","Anya","Anju","Aria","Anne","Ann","Allison","Allyson","Aniyah","Brittany","Britt","Beth","Bethany","Barbara","Bonnie","Bonny","Becca","Bekah","Bess","Bessany","Christina","Christine","Courtney","Christin","Celestine","Christi","Cristi","Carri","Caroline","Carolina","Carolea","Caylee","Cate","Catelyn","Celia","Cecelia","Casandra","Cassy","Casaundra","Corrin","Carmen","Constantina","Cornelia","Cora","Dalia","Dalila","Delilah","Dani","Danielle","Dorris","Debra","Deborah","Destiny","Dana","Dorothy","Dora","Denise","Dolores","Dori","Diane","Donna","Doreen","Dawn","Deanna","Dina","Deena","Dee","Ella","Elle","Ellie","Elvira","Ester","Erica","Elizabeth","Elisabeth","Elena","Eileen","Emily","Erin","Eve","Evie","Frida","Frita","Flor","Fay","Freya","Fran","Francesca","Fanny","Gayle","Gail","Gwen","Gweneth","Gloria","Gabrielle","Guadalupe","Gabriella","Geanine","Gee","Georgina","Gela","Hailey","Hanna","Hannah","Haley","Harrah","Hela","Hellen","Helena","Hermoine","Holly","Irene","Irena","Ilana","Ilene","Ingrid","Jerri","Jerrine","Jeanine","Jovanna","Joyanna","Joy","Jane","Jayna","Jean","Jeanie","Jen","Jennifer","Jamie","Jackie","Jacquelyn","Jaquelyn","Julie","Julia","Jacqueline","Joanne","Jodie","Jesebelle","Jazmine","Jasmine","Krista","Kristin","Kirstin","Kristina","Kristine","Konstantina","Kaylee","Karen","Kora","Katelyn","Kate","Katie","Korrin","Kassy","Kasandra","Khaleesi","Kairi","Kasaundra","Kelly","Kylie","Kairi","Kari","Kendra","Kendria","Leslie","Loria","Lena","Lora","Laura","Lauren","Laurie","Leyla","Leelah","Lorelei","Luna","Lee","Linda","Lexi","Mika","Mariah","Melody","Melissa","Marie","Mary","Maria","Morticia","Marnie","Mable","Monique","Monica","Miley","Michelle","Michele","Molly","Micelle","Madeline","Mikela","Michaela","Monika","Marjorie","Moria","Maureen","Melony","Melinda","Melissandra","Moreen","Nelly","Nicole","Nikki","Nancy","Ovelia","Ophelia","Olivia","Omnia","Odessa","Patricia","Penelope","Persephone","Paula","Pauline","Paulina","Pat","Polly","Polina","Quintana","Quina","Rachel","Renee","Rebecca","Raven","Raquel","Racquel","Reyna","Roni","Rori","Sally","Sara","Sarah","Sonia","Saria","Selene","Susan","Suzanne","Susie","Selena","Selestine","Simone","Selestina","Sandy","Sharon","Saliyah","Sandra","Saundra","Sasha","Trish","Tricia","Tess","Tish","Trisha","Theresa","Therese","Teresa","Terese","Talia","Taliyah","Thea","Theodora","Tyrene","Tabatha","Terry","Tracy","Tyanna","Tianna","Tiara","Tyara","Tylena","Tracey","Ula","Vinchenza","Valerie","Victoria","Vicky","Vick","Vickie","Wilma","Xena","Xaria","Yuri","Yolanda","Zena","Zalia","Zaria"]
#There are about 309 female names.
lastnames = ['Akina', 'Alderman', 'Aliaga', 'Almog', 'Amelkin', 'Angeles', 'Ansari', 'Appel', 'Arena', 'Arias', 'Armstrong', 'Arriaga', 'Ashworth', 'Baez', 'Bannister', 'Barclay', 'Beal', 'Benson', 'Bergen', 'Bhuyan', 'Braver', 'Bravo', 'Breakstone', 'Briody', 'Brodowski', 'Brown', 'Buchanan', 'Buckmeier', 'Calderon', 'Callahan', 'Carberry', 'Carny', 'Casler', 'Castle', 'Castler', 'Cerruti', 'Chandler', 'Chang', 'Chi', 'Chilelli', 'Chong', 'Christobek', 'Cleland', 'Cleveland', 'Clott', 'Cohen', 'Collins', 'Colon', 'Cotto', 'Dapelo', 'Dartt', 'Das', 'Dauman', 'Davidson', 'Davila', 'Day', 'Dayan', 'Deluna', 'Demasi', 'Derby', 'Dey', 'Diamond', 'Dieckmann', 'Dipietro', 'Dobre', 'Doherty', 'Dolan', 'Dougherty', 'Douglas', 'Douglass', 'Doyle', 'Duffy', 'Dunbar', 'Durant', 'Eacho', 'Edwards', 'Eliassaint', 'Escobar', 'Exantus', 'Failla', 'Fakury', 'Falzone', 'Fayman', 'Feerst', 'Feinman', 'Figman', 'Fischer', 'Fisher', 'Fishkin', 'Flyer', 'Gachette', 'Galper', 'Gentile', 'Ginensky', 'Goldberg', 'Goldfarb', 'Gookin', 'Grant', 'Green', 'Greene', 'Groaner', 'Gronningsater', 'Gu', 'Hagler', 'Hannay', 'Haper', 'Heaney', 'Heinrich', 'Heyman', 'Himselson', 'Hopkirk', 'Horowitz', 'Huang', 'Hughes', 'Humbert', 'Hutchinson', 'Ierardi', 'Iheanachor', 'Illym', 'Ingelson', 'Isdokwe', 'Jafari', 'Jaffe', 'Jagielski', 'Johnson', 'Jones', 'Kean', 'Kharlamenko', 'Kishnani', 'Klengler', 'Klopfer', 'Kogan', 'Komar', 'Korek', 'Koretz', 'Kujo', 'Kurtz', 'Lane', 'Langsam', 'Laspina', 'Lerner', 'Lesher', 'Levin', 'Liben', 'Lieberman', 'Lietz', 'Liu', 'Lubin', 'Lubow', 'Lyons', 'Malhotra', 'Malone', 'Maloney', 'Manini', 'Mardirossian', 'Mariani', 'Marrero', 'Marrufo', 'Martinez', 'Mazarin', 'McDonnel', 'McGoldrick', 'McHugh', 'McNamara', 'Mease', 'Medici', 'Meehan', 'Meggett', 'Mehta', 'Mennin', 'Meyer', 'Miles', 'Millan', 'Miller', 'Mills', 'Mirabella', 'Moroney', 'Morrell', 'Morril', 'Murray', 'Musso', 'Nedich', 'Neri', 'Nicolay', 'Nolan', 'Novak', 'Novillo', 'Novis', 'Nowak', "O'Toole", 'Obus', 'Ortsman', 'Pang', 'Paolillo', 'Paple', 'Park', 'Parker', 'Pasinkoff', 'Pate', 'Pathmanathan', 'Payne', 'Peltier', 'Pemberton', 'Perbix', 'Perez', 'Perks', 'Perlin', 'Perlstein', 'Pesin', 'Pierce', 'Poole', 'Poppish', 'Quan', 'Rankin', 'Ransdell', 'Rapisarda', 'Rappaport', 'Reade', 'Redding', 'Redmond', 'Rendeiro', 'Rene', 'Rezai', 'Richman', 'Richmond', 'Ringer', 'Rivera', 'Roberts', 'Robitaille', 'Rodrigues', 'Rodriguez', 'Rosenblum', 'Ross', 'Rossman', 'Rottenberg', 'Roussel', 'Rowe', 'Rozovsky', 'Ruffin', 'Ruger', 'Ruglia', 'Rutger', 'Salters', 'Santo', 'Sattar', 'Scarcella', 'Schiavone', 'Schwartz', 'Seabrooks', 'Serette', 'Sessa', 'Shah', 'Shapovalova', 'Shin', 'Silberman', 'Silverman', 'Simchi', 'Sims', 'Slater', 'Smith', 'Sohn', 'Sorett', 'Stanziale', 'Stearn', 'Stearns', 'Stengel', 'Stephenson', 'Stevens', 'Stevenson', 'Stocking', 'Swensen', 'Swenson', 'Tian', 'Tibbets', 'Tirrell', 'Todadze', 'Toder', 'Tuccio', 'Tucker', 'Tyrell', 'Ukomedu', 'Umber', 'Umbert', 'Urena', 'Valentine', 'Vargas', 'Vasques', 'Vasquez', 'Ventura', 'Villaamil', 'Vogelman', 'Volk', 'Voshtina', 'Walker', 'Wallenstein', 'Washington', 'Weinstein', 'Weiss', 'Wellington', 'Wells', 'Williams', 'Wintle', 'Wittwer', 'Wolk', 'Wong', 'Woolworth', 'Wooten', 'Wright', 'Xe', 'Xee', 'Xi', 'Yanez', 'Yavinsky', 'Yeung', 'Yim', 'Yones', 'Young', 'Zalter', 'Zarabi']
#About 319 last names.
# pick gender:
# this also picks all relation language.
gender = random.choice(["male","female"])
if gender == "male":
# all gender-specific titles here.
firstname = random.choice(malenames)
prefix = "Mr."
manorwoman = "man"
boyorgirl = "boy"
pronoun = "he"
thatisherdog = "his"
thatshers = "his"
thatshim = "him"
relationtochild = "father"
relationtospouse = "husband"
relationtosibling = "brother"
relationtoniece = "uncle"
relationtograndchild = "grandfather"
relationtograndfather = "grandson"
relationtoaunt = "nephew"
relationtofather = "son"
elif gender == "female":
#all gender-specific titles here.
firstname = random.choice(femalenames)
prefix = "Ms."
manorwoman = "woman"
boyorgirl = "girl"
pronoun = "she"
thatisherdog = "her"
thatshers = "hers"
thatshim = "her"
relationtochild = "mother"
relationtospouse = "wife"
relationtosibling = "sister"
relationtoniece = "aunt"
relationtograndchild = "grandmother"
relationtograndfather = "granddaughter"
relationtoaunt = "niece"
relationtofather = "daughter"
else:
error = "There is an error in the gender choosing code."
return error
lastname = random.choice(lastnames)
fullname = firstname + " " + lastname
#Succinctly, this can be used to make a dynamic, random story. "This is " + character[1]+", "+character[7]+" is great."
#MAP
# 0 is gender
# 1 is full name
# 2 is first name
# 3 is last name
# 4 is prefix
# 5 is man or woman
# 6 is boy or girl
# 7 is pronoun
# 8 is thatisherdog
# 9 is thatshers
# 10 is thatshim
# 11 is relation to a child
# 12 is relation to a spouse
# 13 is relation to a sibling
# 14 is relation to a niece
# 15 is relation to a grandchild
# 16 is relation to a grandfather
# 17 is relation to an aunt
# 18 is relation to a father
character = [gender,fullname,firstname,lastname,prefix,manorwoman,boyorgirl,pronoun,thatisherdog,thatshers,thatshim, relationtochild, relationtospouse, relationtosibling, relationtoniece, relationtograndchild, relationtograndfather,relationtoaunt,relationtofather]
return character
day = 1
days = []
while day <= 30:
days.append(day)
day += 1
months = ["January","February","March","April","May","June","July","August","September","October","November","December"]
year = 1950
years = []
while year <= 2030:
years.append(year)
year += 1
tday = random.choice(days)
tmonth = random.choice(months)
tyear = random.randint(2000,2030)
tdaystring = str(tday)
tmonthstring = tmonth
tyearstring = str(tyear)
if tmonth == "January":
tmonthnumstring = "1"
elif tmonth == "February":
tmonthnumstring = "2"
elif tmonth == "March":
tmonthnumstring = "3"
elif tmonth == "April":
tmonthnumstring = "4"
elif tmonth == "May":
tmonthnumstring = "5"
elif tmonth == "June":
tmonthnumstring = "6"
elif tmonth == "July":
tmonthnumstring = "7"
elif tmonth == "August":
tmonthnumstring = "8"
elif tmonth == "September":
tmonthnumstring = "9"
elif tmonth == "October":
tmonthnumstring = "10"
elif tmonth == "November":
tmonthnumstring = "11"
elif tmonth == "December":
tmonthnumstring = "12"
else:
tmonthnumstring = "1"
def birthdecider(days,months,years,tday,tmonth,tyear):
bday = random.choice(days)
bmonth = random.choice(months)
byear = random.choice(years)
age = tyear - byear
if age <= 18:
age = 18
byear = tyear - 18
else:
pass
age = str(age)
bday = str(bday)
bmonth = str(bmonth)
byear = str(byear)
return [age,bday,bmonth,byear]
class Character:
# make into an object called Q
pass
def __init__(self,gender,fullname,firstname,lastname,prefix,manorwoman,boyorgirl,pronoun,thatisherdog,thatshers,thatshim,relationtochild,relationtospouse,relationtosibling,relationtoniece,relationtograndchild,relationtograndfather,relationtoaunt,relationtofather,age,birthday,birthmonth,birthyear,heightdescription,heightstat,weightdescription,weightstat):
self.gender = gender
self.fullname = fullname
self.firstname = firstname
self.lastname = lastname
self.prefix = prefix
self.manorwoman = manorwoman
self.boyorgirl = boyorgirl
self.pronoun = pronoun
self.thatisherdog = thatisherdog
self.thatshers = thatshers
self.thatshim = thatshim
self.relationtochild = relationtochild
self.relationtospouse = relationtospouse
self.relationtosibling = relationtosibling
self.relationtoniece = relationtoniece
self.relationtograndchild = relationtograndchild
self.relationtograndfather = relationtograndfather
self.relationtoaunt = relationtoaunt
self.relationtofather = relationtofather
pass
self.age = age
self.birthday = birthday
self.birthmonth = birthmonth
self.birthyear = birthyear
pass
self.heightdescription = heightdescription
self.heightstat = heightstat
self.weightdescription = weightdescription
self.weightstat = weightstat
class Vehicle:
pass
class Scene:
pass
# originally chose character traits above, have moved them down here.
questioner = createcharacter()
questionerbirth = birthdecider(days,months,years,tday,tmonth,tyear)
questionerheight = heightpicker()
questionerweight = weightpicker()
# questionerheight[0],questionerheight[1],questionerweight[0],questionerweight[1]
Questioner = Character(questioner[0],questioner[1],questioner[2],questioner[3],questioner[4],questioner[5],questioner[6],questioner[7],questioner[8],questioner[9],questioner[10],questioner[11],questioner[12],questioner[13],questioner[14],questioner[15],questioner[16],questioner[17],questioner[18],questionerbirth[0],questionerbirth[1],questionerbirth[2],questionerbirth[3],questionerheight[0],questionerheight[1],questionerweight[0],questionerweight[1])
# Instead of having to repeat this character class BS for every single variable, we're just going to use the term questioner to count as character traits.
questioner = createcharacter()
questionerbirth = birthdecider(days,months,years,tday,tmonth,tyear)
questionerheight = heightpicker()
questionerweight = weightpicker()
Witness = Character(questioner[0],questioner[1],questioner[2],questioner[3],questioner[4],questioner[5],questioner[6],questioner[7],questioner[8],questioner[9],questioner[10],questioner[11],questioner[12],questioner[13],questioner[14],questioner[15],questioner[16],questioner[17],questioner[18],questionerbirth[0],questionerbirth[1],questionerbirth[2],questionerbirth[3],questionerheight[0],questionerheight[1],questionerweight[0],questionerweight[1])
questioner = createcharacter()
questionerbirth = birthdecider(days,months,years,tday,tmonth,tyear)
questionerheight = heightpicker()
questionerweight = weightpicker()
WitnessFamily = Character(questioner[0],questioner[1],questioner[2],questioner[3],questioner[4],questioner[5],questioner[6],questioner[7],questioner[8],questioner[9],questioner[10],questioner[11],questioner[12],questioner[13],questioner[14],questioner[15],questioner[16],questioner[17],questioner[18],questionerbirth[0],questionerbirth[1],questionerbirth[2],questionerbirth[3],questionerheight[0],questionerheight[1],questionerweight[0],questionerweight[1])
questioner = createcharacter()
questionerbirth = birthdecider(days,months,years,tday,tmonth,tyear)
questionerheight = heightpicker()
questionerweight = weightpicker()
WitnessVictim = Character(questioner[0],questioner[1],questioner[2],questioner[3],questioner[4],questioner[5],questioner[6],questioner[7],questioner[8],questioner[9],questioner[10],questioner[11],questioner[12],questioner[13],questioner[14],questioner[15],questioner[16],questioner[17],questioner[18],questionerbirth[0],questionerbirth[1],questionerbirth[2],questionerbirth[3],questionerheight[0],questionerheight[1],questionerweight[0],questionerweight[1])
yesornolowercase = ["yes","no"]
yesornouppercase = capitalizer(yesornolowercase)
# All logic and variables and stuff need to be above this line.
while True:
userdecides = input("How many dictations would you like? ")
try:
userdecides = int(userdecides)
except:
print("Error. Must choose a number.")
continue
if userdecides > 100:
input("Number value too high. Capping at 100 to protect your computer. Press ENTER. ")
userdecides = 100
elif userdecides < 1:
input("Number value too low. Setting to 1 to protect your computer. Press ENTER. ")
userdecides = 1
else:
pass
fileidentifier = 0
fileidentifierlist = []
for a in range(0,userdecides):
fileidentifier += 1
fileidentifierstring = str(fileidentifier)
fileidentifierlist.append(fileidentifierstring)
break
scenarios = ["car accident"]
for a in fileidentifierlist():
# I am thinking, put a list here of possible scenarios.
# Example, scenarios = ["caraccident","murder","suppression"]
# begindict = chooser(scenarios)
# ifbegindict == "caraccident", blah, blah, blah, blah.
# Maybe add the scenario to the file name when you newfile.open("Generated QA " + a + " " + begindict,"w")
begindict = chooser(scenarios)
if begindict == "car accident":
newfile = open("Generated QA " + a + " " + begindict,"w")
newfile.write("""Q. """)
next = chooser(greetingsuppercase)
newfile.write(next)
newfile.write(""", """)
# prefix?
next = chooser(yesornolowercase)
if next == "yes":
next = Witness.prefix
newfile.write(next)
newfile.write(""" """)
else:
pass
# full name?
next = chooser(yesornolowercase)
if next == "yes":
next = Witness.fullname
else:
next = Witness.lastname
newfile.write(next)
newfile.write(""", """)
else:
pass
# this will be the end of the QA Generator
return None
def fingerdrill():
# creates times
hr = 1
min = 0
times = []
identifier = "a.m."
while hr <= 12:
min = 0
for i in range(0,120):
if min >= 60:
min = 59
else:
pass
if min >= 60:
min = 0
else:
pass
if i > 60:
identifier = "p.m."
else:
identifier = "a.m."
pass
if min == 0:
mins = "00"
elif min == 1:
mins = "01"
elif min == 2:
mins = "02"
elif min == 3:
mins ="03"
elif min == 4:
mins="04"
elif min == 5:
mins = "05"
elif min == 6:
mins = "06"
elif min == 7:
mins ="07"
elif min == 8:
mins = "08"
elif min == 9:
mins = "09"
else:
mins = str(min)
hrs = str(hr)
clock = hrs + ":"+mins+" "+identifier
times.append(clock)
min += 1
if min == 60:
min = 0
else:
pass
hr += 1
# creates number list up to 1000
min = 0
num3000 = []
for a in range(0,1001):
mins = str(min)
num3000.append(mins)
min += 1
#creates number list up to 1000000
min = 0
nummillion = []
for b in range(0,1000001):
mins = str(min)
nummillion.append(mins)
min += 1
min = 1960
years = []
while min <= 2030:
mins = str(min)
years.append(mins)
min += 1
# load all the lists between these comments.
times = times
num3000 = num3000
nummillion = nummillion
years = years
letters = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
individualkeysbeginner = ["initial S","initial T","Initial K","Initial P","Initial W","Initial H","Initial R","Initial A","Initial O","Asterisk","Final E","Final U","Final F","Final R","Final P","Final B","Final L","Final G","Final T","Final S","Final D","Final Z"]
individualkeysadvanced = ["initial S","initial T","Initial K","Initial P","Initial W","Initial H","Initial R","Initial A","Initial O","Asterisk","Final E","Final U","Final F","Final R","Final P","Final B","Final L","Final G","Final T","Final S","Final D","Final Z","Initial D","Initial B","Initial L","Initial V","Initial Z","Initial C","Initial X","Long A","Long I","Long O","Long U","Final SH","Final CH","Final N","Final NCH","Final M"]
conwords = ["contempt","convert","converted","contemporaneous","contemporaneousness","contemptuous","confident","contiguous","continue","continuous","continued","confidential","conflate","conflated","conflates","conjure","conjecture","conjured","conjures","congruent","congruency","confluent","continual","continuity","conniption","continent","conjugal","concept","conceptual","conceptualize","connect","connection","connectivity","constitute","constitution","constitutional","conduct","conducting","conducive","continental","conducts","conductivity","content","contented","contentedness","contend","contents","contending","contends","congruency","congress","congregation","congressional","congregational","confirmation","confirm","confirms","confirming","conflating","connotation","conspire","con","conspires","conspiring","conspired","consorted","consort","congeal","congeals","congealing","congrats","congratulations","congratulating","conglomerate","conglomerates","conglomeration","conglomerating","concession","concessions","condescending","condescend","condescends","confusion","contusion","consequence","consequential","consequence","consequences","control","contraceptive","contract","contracts","contracting","contraction","contractions","contraceptives","contrail","contrails","controls","controlling","contradiction","contradict","controversy","controvert","controversial","controversion","condyle","console","condolence","convalescent","condolences","condone","condones","condoning","convalescence","condom","conundrum","constituent","constituency","contraclockwise","conflagration","constant","consistent","contain","contains","container","containing","consistency","constants","consonants","consonant","contraindicated","contraindicate","contraindication","condition","conditions","conditioning","connective","contravene","contravening","contravenes","contrary","contrarian","controller","convey","conveyor"]
wouldcould = ["would","could","should","would've","could've","should've","would have","could have","should have","wouldn't","couldn't","shouldn't","would not","could not","should not","won't","don't","isn't","wasn't","weren't","I'd","she'd","he'd","will not","do not","is not","was not","were not","I would","they'd","they would","she would","he would","would have been","should have been","may have been"]
likeas = ["like","as","as a","as of","as if","like a","like we","as we","like they","as they","as intended","like he","like she","as he","as she","as to"]
whowhat = ["who","what","why","where","when","why","how"]
# load all the lists between these comments.
# create logic to choose the list, equate the chosen list to the variable named group.
print("You may generate a drill for the following categories: ")
time.sleep(.5)
print("1 : Times")
time.sleep(.5)
print("2 : Individual keys, beginner")
time.sleep(.5)
print("3 : Individual keys, advanced")
time.sleep(.5)
print("4 : Con words")
time.sleep(.5)
print("5 : Contractions")
time.sleep(.5)
print("6 : Like and as")
time.sleep(.5)
print("7 : Who, what, where, when, why, how")
time.sleep(.5)
print("8 : Numbers under 1000")
time.sleep(.5)
print("9 : Numbers under 1000000")
time.sleep(.5)
print("10 : Letters A through Z")
time.sleep(.5)
print("11 : Years 1960 to 2030.")
time.sleep(.5)
print("12 : Create custom list.")
time.sleep(.5)
print("13 : Load a custom list.")
while True:
group = input("Enter the number of the category you wish to generate a drill for: ")
try:
groupi = int(group)
if groupi == 1:
group = times
elif groupi == 2:
group = individualkeysbeginner
elif groupi == 3:
group = individualkeysadvanced
elif groupi == 4:
group = conwords
elif groupi == 5:
group = wouldcould
elif groupi == 6:
group = likeas
elif groupi == 7:
group = whowhat
elif groupi == 8:
group = num3000
elif groupi == 9:
group = nummillion
elif groupi == 10:
group = letters
elif groupi == 11:
group = years
elif groupi == 12:
print("You have chosen to create a custom list. You MUST enter one word at a time.")
time.sleep(.5)
print("Type any word. Type DISPLAY to display your drill list. Type END to save your list and continue.")
time.sleep(.5)
group = []
while True:
addition = input("Enter a word for your custom list: ")
if addition == "DISPLAY":
print(group)
continue
# elif continue here
elif addition == "END":
save = open("Custom List.txt","w")
size = int(len(group)) - 1
for item in group:
save.write("%s\n" % item)
save.write(" ")
save.close()
break
else:
group.append(addition)
elif groupi == 13:
print("You have chosen to load a custom list. Lists musts have ONE word separated by spaces.")
time.sleep(.5)
while True:
group = input("Please input the name of the file you wish to load, including the .txt. To return to menu, type MENU: ")
if group == "MENU":
menu()
else:
pass
try:
load = open(group,"r")
group = load.read()
group = group.split()
load.close()
break
except:
print("Incorrect file name. Try again.")
continue
else:
print("You must enter a valid number.")
continue
break
except:
print("You must type a number only.")
continue
# check
while True:
wpm = input("Enter words per minute: ")
try:
wpmi = int(wpm)
if wpmi > 500 or wpmi < 0:
print("For your computer's safety, this program will not accept inputs larger than 500 or smaller than 0.")
continue
break
except:
print("You must enter a number.")
continue
while True:
minutes = input("Enter minutes of dictation: ")
try:
minutesi = int(minutes)
if wpmi > 500 or wpmi < 0:
print("For your computer's safety, this program will not accept inputs larger than 500 or smaller than 0.")
continue
break
except:
print("You must enter a number.")
continue
words = wpmi * minutesi
drill = open("Generated Drill.txt","w")
for i in range(0,words):
pick = random.choice(group)
drill.write(pick)
drill.write(", ")
drill.close()
input("Check the folder where you keep this program to find your .txt finger drill. Now returning to menu.")
return None
def WKT():
pass
# Since there is not anywhere to really do this in the code, I'd like to just put it right at the top. To all the stenographers and educators who donated questions or assisted in this project, thank you. Many of us have had to face written knowledge tests without having the benefit of a practice test. The materials are out there, like Purple books or RPR prep, but many stenographers do not know about or search for these things. I have created this for free so that people can open their eyes, see that they need to study, and find the reference materials they need to be better reporters. All contributors, whether it was one question or ten, have taken the step forward to promote education in this field. As of initial writing, no contributor has asked to be credited by name, but I am happy to add names below. Finally, if you are a student or a court reporter preparing to take a test, please go out there and Google the reference materials available. Again, there are things like Monette Benoit's Purple Books. There are webinars and reference materials put out by NCRA and third parties. There are ways to be not only a good writer, but a smart one. We cannot teach you smart, but you can be smarter than all of us.
# Line reserved for named credits.
#
# Please e-mail errors to ChristopherDay227@gmail.com including the question text and error. Do not include the questio number -- every test generated will have random numbers.
# grammar 20
# spelling 20
# medical 10
# legal 10
# BELOW THIS LINE ARE GRAMMAR SETS ***
grammarQlist = ['Consider the following sentence: "The defendant struck the complainant." The word struck is a _',"Which sentence must be incorrect?","Which sentence must be incorrect? ","Which statement must be incorrect?","Which sentence is correct? ","Which sentence is most correct?","Which statement is most correct? ","Lester is the student _ the teacher feels is the most lazy.","Our parents gave a party for my brother and _","Angela differed _ Peter about the campaign.","The student _ receives the lowest grade will lose the spelling bee.","The voters became outraged at the candidate _ betrayed the public trust.","Just between _, did you expect that result?","The Argentinian _ helped us with our visas.","Fertile soil _ the subsoil.","The team filled its roster with a full _ of players.","Choose an example of the Oxford comma.","Used to denote excitement, astonishment, or strong emotion.","Won\'t is a proper contraction of _",'The most proper usage of a "plural name apostrophe."',"Choose the incorrect statement.","Choose the most correct statement.","Which of the following is the correct choice?","WHICH is correct?","You have a shiny coat. The word shiny is a _.","If someone is honest, _ shouldn't lie.","I hate loud music, _ I ask you to lower it.","I wanted a refund, so the shop refunded me _.","By signing, the defendant agreed to the _ contract.","I'm sorry for _ all manners."]
grammarpossibleanswerslist = [["noun","verb","adjective","adverb"],["Anyone can succeed.","Anyone of us can succeed.","Any one can succeed.","Any one of us can succeed."],["Our goal should be to succeed every day.","Our everyday goal should be to succeed.","Our goal should be to succeed everyday.","Our goal should be everyday success."],["Our goal may be justice.","Our goal? Maybe justice.","Our goal maybe justice.","Our goal? May be justice."],["Weed like to be impartial.","We'd like to be impartial.","Wed like to be impartial.","We'd like to be impartial"],['She said, "catch me if you can."','She said catch me if you can','She said, "catch me" if you can.','She said, "catch me if you can".'],["The color of the car was gray","The color of the car was grey.","The color of the car was grey","The color of the car was gray."],["who ","whom ","who\'ll ","whose "],["me ","myself ","ourself ","we "],["with ","from ","for ","without "],["who ","that ","from ","what "],["who ","whom ","what ","where "],[" you"," I"," us"," them"],["consul ","counsel ","council ","console "],["overlays","overlies","overtly","ovulates"],["complement","compliment","complimentary","complementary"],["We went with Kennedy, Johnson, and the boys.","Your Honor, I am bewildered by your decision.","The correct answer is here, I promise.","David, Joe and Mike are all here."],["Exclamation point.","Question mark.","Period.","Comma"],["will not","would not","why not","who would not"],["Jones\'s diary","Joneses diary","Jone\'s diary","Jones diary"],["This does not effect me.","This does not affect me.","There was no effect.","There was no affect."],["There is no statute of limitations for murder.","There is no statue of limitations for murder.","There is no satchel of limitations for murder.","There is no stature of limitations for murder."],["He got past the guards.","He got passed the guards.","He past the guards.","The guards passed him"],["She passed the fence.","She past the fence.","The house is past the fence","The house is passed the fence."],["VERB","NOUN","ADJECTIVE","ADVERB"],["he or she","they","we","them"],["therefore","therefor","foregoing","forgoing"],["therefore ","therefor ","foregoing ","forgoing "],[" therefore "," therefor "," foregoing "," forgoing "],["therefore ","therefor ","foregoing ","forgoing "]]
grammarcorrectanswerlist = ["verb","Anyone of us can succeed.","Our goal should be to succeed everyday.","Our goal maybe justice.","We'd like to be impartial.",'She said, "catch me if you can."',"The color of the car was gray.","who ","me ","with ","who ","who "," us","consul ","overlies","complement","We went with Kennedy, Johnson, and the boys.","Exclamation point.","will not","Jones\'s diary","This does not effect me.","There is no statute of limitations for murder.","He got past the guards.","She passed the fence.","ADJECTIVE","he or she","therefore","therefor "," foregoing ","forgoing "]
# I am going to group the lists together to make working on them easier.
#BELOW THIS LINE ARE SPELLING SETS ***
spellingQlist = ["Choose the correct spelling.","Choose the correct spelling!","What is the correct spelling?","What's the correct spelling?","Which is the correct spelling?","Which choice is correct?","Which choice is the correct spelling?","Choose the most correct spelling.","Choose the most correct sentence.","Choose the most correct spelling. ",'Which word means "in accordance with what is required or appropriate"?',"The term agrarian relates most closely to _","To abdicate means to _","Which word means rich or superior in quality?","In adults, _ pain may result from a childhood injury.","Before leaving, she _ over her maps.","The police did a door-to-door _.","The _ is the beginning of a book.","Choose the word that is not spelled correctly.","Choose the word that is not spelled correctly. ","Choose the word that is not spelled correctly. ","Choose the word that is not spelled correctly. ","Choose the word that is not spelled correctly. ","Choose the correct spelling for the word provided.","Select the correct spelling.","Another word for ubiquitous.","Correct spelling of the following term is _","Deluge has to do with _","Conflagration has to do with _","A term for unnecessary.","Another word for agreeable.","Arid means _.","Which word means very large?","Another term for surrender.","Aviation has to do with _","Brusque means _","Converge is to diverge as deleterious is to _","Contingent upon something else is _","To improve.","Referring to a tax.","A type of political leader.","A legal settlement is a form of _.","Meaning of discreet.","Meaning of discrete.","Someone that can predict the future would be described as _.","To regard with scorn.","If you want to emulate something, one might say you want to _ it.","Synonym for coquettish.","Something that is enervating is _.","Something that is ephemeral is _.","Something that is florid is _.","Choose a word that means lucky.","You may also describe someone who is intrepid as being _.","Another word for joy.","Something that is mundane is _.","Another word for impetuous.","An orator is a/an _.","Ostentatious means _.","Perfidious means _.","Another word for practical.","Precocious means _.","Something prosaic is _.","Querulous is _.","Something pleasant would not be described as _.","Someone who acts with wisdom may be said to act with _.","A hermit can be said to be _.","Reverence is _.","To look at carefully.","Something spurious is _.","Something superficial is _.","Something transient is _.","A striation is _.","A share of stock represents _ in a company."," The correct spelling is _. ","Another word for surreptitious.","A fallacy is _.","The art of preparing, stuffing, mounting the skin of animals is _.","To be unable to pay debts owed.","Fast and energetic in a wild way is _.","""Which of the following is not correct?
1. He had every intention to win.
2. No mans an island.
3. No man's an island.
4. He'd every intention to win.""","Extreme skepticism may also be called _.","Someone who likes learning can be said to have a _ for learning.","Another word for suzerain.","Someone sadistic may also be said to be _.","Another term for skill or expertise.","A container for relics is a _.","Concerning verifiable observation or experience.","To simper is to _.","This word's proper spelling is _.","Excessive pride is _.","An archipelago refers to a group of _.","Polychromatic means _.","To begin or introduce.","To describe or portray something precisely.","Extremely small.","Another word for clever.","Hellenistic means _.","Rote learning is based on _.","Another word for nefarious.","To act in a subservient manner.","To make stronger.","The mouth of a river.","Having holes or spaces.","Another word for spotless.","Another word for cogent.","Another word for humid.","Another word for glossy."]
spellingpossibleanswerslist = [["acommodate","accommodate","accomodate","acomodate"],["rhythm","rhythym","rythm","rhythym"],["millennium","milennium","millenium","milenium"],["liaison","liason","liasion","liasson"],["harass","harrass","harras","haras"],["occurred","ocurred","occured","ouccurred"],["recommend","reccomend","recomend","reccommend"],["deductible","deductable","deductuble","deducteble"],["I went to their room.","I went to they're room.","I went to there room","I wen't to their room."],["hemorrhage","hemmorhage","hemmorrhage","hemorhage"],["Duly","Dually","Dully","Dulie"],["Farming","Filming","Forecasting","Famine"],["Fail to fulfill or undertake","Increase exercise","Point vigorously","Win by a slim lead or margin"],["Opulent","Adamant","Osculate","Ornate"],["chronic ","acute ","omniscient ","omnipotent "],["pored","poured","pured","powered"],["canvass","canvas","carcas","convulse"],["foreword ","forward ","aforethought ","predeterminate "],["abeyance","bacilus","cadaverous","zinnia"],["dazzlle","easement","galactic","gazette"],["biannual","unscrupulous","biennial","halucinogens"],["sabotage","raiment","handkerchief","obfusscate"],["surviellance","ricochet","quarrel","propitious"],["pilfer","pillfer","pilffer","pillffer"],["Privilege","Priviledge","Privelege","Privillege"],["Omnipresent","Omnipotent","Omniscient","Spectacular"],["Prejudice.","Predjudice.","Predjuice.","Prejudis."],["Flooding","Fire","Deletion","Insertion"],["flooding","fire","convenience","contamination"],["Superfluous","Superlative","Superstitious","Superseded"],["EGREGIOUS","AMICABLE","AMOROUS","AMELIORATED"],["dry","wet","sunny","cloudy"],["CAPACIOUS","INCAPACITATED","ENCAPSULATED","CORRUGATED"],["CAPITULATE","COPULATE","CONFISCATE","CONSECRATE"],["Flight","Falling","Firefighting","Climbing"],["short or rude","polite","funny","galvanizing"],["HELPFUL","IMPACTFUL","RETRACTABLE","INTRACTABLE"],["CONDITIONAL","UNCONDITIONAL","TRADITIONAL","UNTRADITIONAL"],["Ameliorate.","Excoriate.","Exorcize.","Amend."],["excise ","estate ","inheritance ","appropriation "],["Demagogue","Pedagogue","Ideologue","Apologue"],["COMPROMISE","CAPRICIOUSNESS","DEMAGOGUERY","HAPPENSTANCE"],["INTENTIONALLY UNOBTRUSIVE","INDIVIDUALLY SEPARATE AND DISTINCT","VAGUE OR AMBIGUOUS","VIVID OR WITH FORETHOUGHT"],["intentionally unobtrusive","individually separate and distinct","vague or ambiguous","vivid or with forethought"],["clairvoyant","astute","gregarious","conspicuous"],["disdain","disrespect","disembowel","disenfranchise"],["copy ","emasculate ","correct ","corroborate "],["coy ","contoured ","castigated ","celibate "],[" tiring"," exciting"," tactful"," exorbitant"],["fleeting ","permanent ","positive ","flourishing "],["ornate","ordinary","octagonal","occupational"],["fortuitous","flatulent","haughty","intrepid"],["brave","lucky","impulsive","indefatigable"],["jubilation","vitriol","ribosome","canard"],["boring","excruciating","intoxicating","nefarious"],["rash","decisive","docile","regal"],["speaker","hygienist","opulent person","fighter"],["flamboyant","fluid","forethought","original"],["disloyal","dark","annoying","cantankerous"],[" ENIGMATIC"," PRAGMATIC"," IMPREGNABLE"," PORTENT"],["GIFTED","ANNOYING","CONDESCENDING","STUPID"],["ordinary","ordained","ornate","ostentatious"],["prone to argument","prone to questioning","prone to pragmatism","prone to impetuousness"],["rancorous","rendered","regurgitated","relinquished"],["sagacity","alacrity","ambivalence","seditiousness"],["reclusive","inclusive","conclusive","deferential"],["deep respect","deep disdain","deep religiousness","deep morality"],["scrutinize","patronize","incentivize","galvanize"],["TRUE ","FALSE ","FORGETTABLE ","MEMORABLE "],[" DEEP"," SHALLOW"," REPENTANT"," DESTITUTE"],["TEMPORARY ","PERMANENT ","PERMISSIBLE ","TEMPORAL "],["a groove or scratch","a debt or penalty","a falsehood or lie","a microfilm or chipset"],["ownership","subservience","bonded debt","legal liability"],["punctuation","punctaution","pungtuation","punctiation"],["clandestine","fastidious","de minimis","gratuitous"],["A mistaken belief.","Something inappropriate.","A person that is incorrect.","A complete failure or disruption."],["taxidermy","trepanation","telemetry","truncation"],["insolvent","resilient","salable","solvent"],["frenetic","kinetic","emphatic","rheumatic"],["2 only, but not 1, 3, or 4.","1 only, but not 2, 3, or 4.","1 and 4, but not 2 and 3.","2 and 3, but not 1 and 4."],["nihilism","vandalism","altruism","relativism"],["penchant","reagent","rectification","liquefaction"],["sovereign","socialite","sardonic","sleuth"],["cruel.","upset.","annoying.","ugly."],["prowess","productivity","perdition","proxy"],["tributary","reliquary","quarry","oligarchy"],["empirical","spherical","fanatical","sabbatical"],["cook","smirk","obliterate","produce"],["annihilate","annahilate","annihalate","annihillate"],["hubris","humus","humidity","humility"],["islands","volcanos","archways","swordfish"],["multicolored","reflective","luminescent","voluminous"],["inaugurate","delineate","latinate","perforate"],["delineate.","inaugurate.","latinate.","perforate."],["INFINITESIMAL","CAPACIOUS","PEDANTIC","ADRIATIC"],["astute.","oblong.","ordained.","astrid."],["Relating to Greek culture.","Evil.","Smart.","Relating to the Kingdom of Lombardy."],["Repetition.","Singing.","Groups / collectivism.","Drawing."],["Monstrous","Morose","Moravian","Nested"],["Kowtow","Cartel","Wheedle","Actuate"],["consolidate","consulate","console","corrugate"],["estuary","actuary","flounder","foxhole"],["porous","pious","diuretic","elementary"],["immaculate","iridescent","lurid","wholistic"],["lucid","acrid","eminent","offal"],["sultry","lucre","bevy","radiant"],["lustrous","filament","shorn","errant"]]
spellingcorrectanswerlist = ["accommodate","rhythm","millennium","liaison","harass","occurred","recommend","deductible","I went to their room.","hemorrhage","Duly","Farming","Fail to fulfill or undertake","Opulent","chronic ","pored","canvass","foreword ","bacilus","dazzlle","halucinogens","obfusscate","surviellance","pilfer","Privilege","Omnipresent","Prejudice.","Flooding","fire","Superfluous","AMICABLE","dry","CAPACIOUS","CAPITULATE","Flight","short or rude","HELPFUL","CONDITIONAL","Ameliorate.","excise ","Demagogue","COMPROMISE","INTENTIONALLY UNOBTRUSIVE","individually separate and distinct","clairvoyant","disdain","copy ","coy "," tiring","fleeting ","ornate","fortuitous","brave","jubilation","boring","rash","speaker","flamboyant","disloyal"," PRAGMATIC","GIFTED","ordinary","prone to argument","rancorous","sagacity","reclusive","deep respect","scrutinize","FALSE "," SHALLOW","TEMPORARY ","a groove or scratch","ownership","punctuation","clandestine","A mistaken belief.","taxidermy","insolvent","frenetic","2 only, but not 1, 3, or 4.","nihilism","penchant","sovereign","cruel.","prowess","reliquary","empirical","smirk","annihilate","hubris","islands","multicolored","inaugurate","delineate.","INFINITESIMAL","astute.","Relating to Greek culture.","Repetition.","Monstrous","Kowtow","consolidate","estuary","porous","immaculate","lucid","sultry","lustrous"]
#BELOW THIS LINE ARE MEDICAL SETS ***
medicalQlist = ["Anterior refers to the _","Posterior refers to the _","An angiogram is imaging of the _","Which term defines swelling?","Encephalitis is swelling of the _","Gastro is a prefix pertaining to the _","Stoma is a prefix pertaining to the _","Rhinoplasty is surgery for the _","Thrombosis refers to _","What does osteo refer to?","What does the suffix itis refer to?","The tibia is _","The fibula is _","The femur is the _","The patella is the _","Adipose relates to _","Strabismus relates to _","The duodenum is the first part of the _","Hydrolysis is _","Chrysotile is the most common form of _ ","A pterygium is a growth in the _","DNA stands for _","Fibromyalgia is _.","Another word for low blood sugar.","The main metabolite of cocaine.","A substance formed or necessary for metabolism.","Veins carry blood _.","Arteries carry blood _.","Hyperphagia has to do with _.","Which of the following is a possible definition for vesicle?","Dermis relates to the _.","Tachycardia is _.","Bradycardia is _.","The medical prefix om refers to _.","Neuropathy is disease or dysfunction of the _.","Adenopathy involves disease or inflammation of _.","A hysterectomy is a removal of the _.","Histopathology has to do with the study of _.","Odontectomy is surgical extraction of a _.","A pathogen is _.","A prognosis is _.","MRI stands for _.","Cuneiforms bones refer to the _."]
medicalpossibleanswerslist = [["front","back","artery","aorta"],["front.","back.","pharynx.","palate."],["blood vessels","lungs","lips","legs"],["edema","adrenal","renal","bronchial"],["brain.","arm.","throat.","stomach."],["stomach","mouth","throat","teeth"],["stomach ","mouth ","throat ","teeth "],["nose ","eye ","ear ","adrenal gland "],["a blood clot","a broken thumb","a hemorrhage","arterial spray"],["Bone","Joint","Tongue","Muscle"],["Inflammatory disease","Bleeding disease","Cancerous disease","Infectious disease"],["The larger of two bones below the knee","The smaller of two bones below the knee","The larger of two bones below the elbow","The smaller of two bones below the elbow"],["The larger of two bones below the knee.","The smaller of two bones below the knee.","The larger of two bones below the elbow.","The smaller of two bones below the elbow."],["Thigh bone","Kneecap","Big toe","Chest cavity"],["Thigh bone ","Kneecap ","Big toe ","Chest cavity "],["Fat","Flexibility","Forearm tensile strength","Feasible biomechanics"],["Abnormal alignment of eyes","Abnormal alignment of feet","Abnormal alignment of hips","Abnormal alignment of teeth"],["Small intestine","Large intestine","Circulatory system","Respiratory system"],["Chemical breakdown of a compound due to a reaction with water.","The inherent stability of a homogenous mixture in water.","The coloring of water during a hydroelectric test.","Reduced water volume after cellular respiration."],["Asbestos","Osmosis","Osteoporosis","Asthma"],[" Eye"," Lung"," Intestines"," Throat"],["Deoxyribonucleic acid","Didactic nucleic acid","Deoxyriboneumonic acid","Doxycyclenic acid"],["musculoskeletal pain","musculoskeletal disfigurement","musculoskeletal failure","musculoskeletal malingering"],["hypoglycemia","hypotension","hypochondria","hypoxia"],["benzoylecgonine","n-desmethyltramadol","tetrahydrocannabinol","buprenorphine"],["metabolite","metamorphosis","metacognition","metamerism"],["To the heart.","From the heart.","Through all capillaries.","Faster than arteries."],["To the heart. ","From the heart. ","Without involving capillaries. ","Slower than veins. "],["Excessive hunger.","Excessive warmth.","Excessive weakness.","Excessive pain."],["BLADDER","SKIN","HAIR","INFECTION"],["bladder","skin","hair","toe"],["Abnormally fast heart rate.","Abnormally slow heart rate.","Abnormally loud heart rate.","Abnormally quiet heart rate."],["Abnormally fast heart rate. ","Abnormally slow heart rate. ","Abnormally loud heart rate. ","Abnormally quiet heart rate. "],["the shoulder","the cheekbone","the endocrine system","the gastrointestinal system"],["nerves","brain","eyes","ears"],["glands","glans","gallbladder","vacuoles"],["uterus ","gallbladder ","small intestine ","tonsils "],["Disease and tissue","Disease and the uterus","Disease and bone","Disease and temperature"],["TOOTH","KIDNEY","MUSCLE","APPENDIX"],["The cause of a disease.","The outcome of a disease.","The treatment of a disease.","The history of a disease."],["The cause of a disease. ","The likely outcome of a disease. ","A list of medications. ","Symptoms experienced by a patient. "],["Magnetic resonance imaging","Magnetic reconstructive imaging.","Metric rhythmic inclination","Magnetic rail ionization."],["HEAD","TORSO","FEET","ARMS"]]
medicalcorrectanswerlist = ["front","back.","blood vessels","edema","brain.","stomach","mouth ","nose ","a blood clot","Bone","Inflammatory disease","The larger of two bones below the knee","The smaller of two bones below the knee.","Thigh bone","Kneecap ","Fat","Abnormal alignment of eyes","Small intestine","Chemical breakdown of a compound due to a reaction with water.","Asbestos"," Eye","Deoxyribonucleic acid","musculoskeletal pain","hypoglycemia","benzoylecgonine","metabolite","To the heart.","From the heart. ","Excessive hunger.","BLADDER","skin","Abnormally fast heart rate.","Abnormally slow heart rate. ","the shoulder","nerves","glands","uterus ","Disease and tissue","TOOTH","The cause of a disease.","The likely outcome of a disease. ","Magnetic resonance imaging","FEET"]
# BELOW THIS LINE ARE LEGAL LIST ***
legalQlist = ["Voir dire usually refers to _","What is the definition of prima facie?","The burden of proof in most civil cases is _","The burden of proof in most criminal cases _ ","One who is acquitted is found _","Action can be another word for _","Ad litem means _","When one requests adjournment, they are asking for _","If a case is adjudicated, that means it has been _","An affiant is one who _","An affidavit is _","A foreclosure is _","When does the defendant bear the burden of proof?","A stipulation is _","An alibi is _","An allegation is _","In New York, the CPL stands for _","In New York, the CPLR stands for _","An allocution is _ ","Alternative dispute resolution refers to _","An appeal is _","An appellant is _","An appellee is _","An arraignment is _","In New York, an Article 78 proceeding is _ ","In New York, the New York State Supreme Court is a/an _","A trial court does not _","Bail is _","A bailiff is in charge of _","Another term for bailiff.","Bankruptcy is _","A bench conference is _","A bench warrant is _","A person that shares in an estate is a _.","To bifurcate means _ ","A legal reason to sue is also known as a _","Caveat emptor means _","Personal property is also known as _","The court's power to hear a case is dependent upon its _ ","A codicil is _","When two or more courts may hear a case it is a case of _","Two or more sentences served at the same time are _","Which of the following can be an example of confidential personal information in New York?","Sentences served one after the other are _ ","To help prove a statement or argument with more facts or evidence is to _ ","Counsel is another word for _","A claim made by a person that has been sued is _","Money the losing side must pay in a lawsuit are/is also known as _","Defamation is _","When a court makes a ruling in favor of a side when the other side does not answer or appeal in court.",'Which term means "to start again"?',"A decedent is _","A person receiving property from a will is a _","When a witness answers questions posed by the party that brought them to testify it is _ ","Gathering evidence before the case goes to trial is known as _","When a court ends a case and will not allow another case to be brought under the same claim or facts it is _","The paying out of money is _","The term domicile refers to _","Egregious means _","The right of the state to take private property for public use is _","To endorse something is to _","Equity generally refers to _","The right of the state to take property when no one else may inherit it is _","The property of an adult, child, trust, or decedent is _ ",'Latin for "from one side only."',"A person named in a will to carry out said will is the _","To remove or erase.","Taking a person in custody from one jurisdiction to another.","To clear of blame.","Federal question jurisdiction is _","A serious crime is known as a _","A minor crime is known as a _","Typically, in New York, an A misdemeanor is punishable with _","Fiduciary means _","In a jury trial, the fact finder is _","A judge decides the facts and the law during a _","In a bench trial, the fact finder is _","A forced sale to repay debt is","To forfeit means to _","To conduct a legal process that allows part of a person's assets or wages to be seized to satisfy a judgment.","Honesty of intention is _","When a person kills another person, that is _","Motions in limine are held _","In propria persona means _","To file a case without paying fees.","Legal definition of an infant.","A minor violation of law that cannot be punished with jail time is _","A legal process where only one side presents a case.","Interlocutory refers to _","A written set of questions from one party to another as part of discovery.","A person with authority to decide legal matters in court.","A person who wins a case and is owed money.","A person who loses a case and owes money.","Jurisprudence is _","A person selected to be on a jury is a _","A landlord is also called a _","A tenant is also called a _","A person supposed to receive personal property under a will is a _","Libel is a form of _","A claim on property is also referred to as a _","Malfeasance is _","A process where a neutral party helps two parties reach an agreement voluntarily.","Ipso facto means _","Res ipsa loquitor means _","The court minutes are a/an _ of the court proceedings.","Which of the following requires malice aforethought?","Nolo contendere is _","Non-sequitur means _","A written announcement or warning is a _ ","Nunc pro tunc means _","When a person swears or affirms what he or she is saying is true, it is an/a _","Person who gets the benefit of an obligation.","Person who must perform a duty or obligation.","The release of a person before the end of his or her sentence is _","Pendente lite means _","A payee _","A payor _","When a party asks the court to get rid of or disqualify a potential juror.","Perjury is most accurately described as _ ","The power of a court over a person is _ ","A group of citizens that hears both sides at trial and decides the facts of the case.","The person that starts a case is the _","When a person has control of a place or thing that is _","Another case with similar issues of law and facts is _","To prevent or stop.","Pro bono is Latin for _","Pro se is Latin for _","Probate court decides if a will is _","To start or move on with a legal case.","Proximate cause is _","Quid pro quo may be translated as _","A rap sheet refers to _","When a person removes himself or herself from a case due to a conflict of interest.","Removal or hiding information in a document before publication.","Res judicata means _","Punishment or penalty.","To separate or hold aside.","Sine die means _","A split sentence is one where part of the time is served in jail and part of the time is served on or under _","The right to take part in a case is _","A formal rule or law.","The statute of limitations governs _","Sua sponte means _","To strike is to _","Subpoena duces tecum demands _","Another term for summation.","A notice one is being sued.","To prevent something from being seen or heard.","Having made or died with a will.","To give testimony under oath.","Another word for theft.","A tortfeasor is _","Going on someone's land without permission is _","A rental unit with problems so severe they hurt a tenant's health or safety is _","The place a case can be heard.","If a document is verified, such as a verified complaint, it means it has been _","To speak the truth is _","A waiver of indictment _","A person who testifies about what he or she has seen, heard, or experienced."]
legalpossibleanswerslist = [["jury selection","depositions","opening statements","closing arguments"],
["At first view","Speaks for itself","Criminal intent","Evidence-based prosecution"],
["Preponderance","Clear and convincing","Beyond a reasonable doubt","Probable cause"],
["Preponderance.","Clear and convincing.","Beyond a reasonable doubt.","Probable cause."],
["Not guilty","Guilty","Unfit","In contempt"],
["A court case or lawsuit","Filing motion papers","A summary judgment","A default judgment"],
["In this case only","False advertising","Admonishment by the court","Accused presumed innocent"],
["Case dismissal","The case to be heard on a later date","A recusal","A writ of mandamus"],
["Decided","Filed","Appealed","Adjourned"],
["Signs legal papers","Appeals a court ruling","Schedules witnesses","Is disqualified from receiving legal assistance"],
["A written sworn statement","A legal manual","A legal glossary","A contract"],
["The act of taking property when a mortgage has not been paid.","The act of ending a case by default judgment.","The act of ending a case on appeal.","The act of disqualifying other parties from joining a case."],
["Never","Upon an affirmative defense claim","During a bench trial","When the defendant testifies"],
["An agreement between parties","A standard discovery motion","An order by the court","A standard contractual penalty"],
["A claim that the accused was elsewhere during the commission of the crime.","A claim that the accused cannot be found guilty due to being found unfit.","A claim that the accused has an affirmative defense.","A claim that the accused was searched illegally."],
["A statement or claim that has not been proven.","Trial testimony by a non-party witness.","An out-of-court statement.","An insurance claim adjudicated by an administrative judge."],
["Criminal procedure law","Civil procedure law","Criminal penal law","Civil priority licensing"],
["Civil practice law and rules ","Criminal practice law and rules ","Criminal procedural law and rules ","Civil procedural law and rules "],
["A statement by the defendant before sentencing.","A statement by the defendant after sentencing.","A statement by the defense attorney during trial.","A statement by the defendant before indictment."],
["Mediation or arbitration","Medical excusal or dismissal","A motion to decide a matter via combat","A sua sponte judgment by the court"],
["A request to a higher court to check a lower court's decision.","A plea before the judge to receive a lesser sentence.","A formal letter to the governor requesting a pardon.","A campaign to have the legislature amend the law."],
["Someone who requests an appeal","Someone who defends or responds to an appeal","An appellate court judge","An appellate court clerk"],
["Someone who requests an appeal ","Someone who defends or responds to an appeal ","An appellate court judge ","An appellate court clerk "],
["A proceeding where defendant enters his or her initial plea.","A proceeding where defendant decides whether to testify.","A proceeding where defendant presents an affirmative defense.","A proceeding where a judge decides admissibility of evidence."],
["An administrative hearing to determine the powers of an executive agency.","A Supreme Court case that can change an order made by an administrative agency.","A Supreme Court divorce case.","A traffic court administrative appeal."],
["Trial court","Appellate court","Superlative court","Executive agency"],
["Decide appeals","Receive evidence","Decide motions","Render verdicts"],
["A money deposit meant to ensure defendant's return to court.","A money deposit collected by the court after a guilty plea.","A money deposit made to the judge for a party to prevail on a motion.","A money deposit accepted by the court after sentencing."],
["Court security","Court paperwork","Court records","Court transcripts"],
["Court officer ","Court clerk ","Court reporter ","Court attorney "],
["A court case started to absolve the petitioner of debt.","A court case started to declare petitioner's debt illegal.","A court case started to repay creditors in full with interest.","A court case started to claim money owed to a creditor."],
["A meeting with the attorneys and judge about a case","A meeting where the judge recuses himself or herself","A meeting where the judge meets with only one party","A meeting where the judge speaks to the defendant in camera"],
["An order to arrest someone who did not appear in court","An order to arrest someone for contemptuous behavior in court","An order to arrest someone who impersonates a judge","An order to arrest someone during a court proceeding"],
["Beneficiary","Guarantor","Warrantee","Intestate"],
["To separate","To combine","To destroy","To create"],
["Cause of action ","Annulment ","Casus belli ","Summons and complaint "],
["Let the buyer beware","Let the market decide","Let the court rule","The crown can do no wrong"],
["Chattel ","Estate ","Ad litem ","Abrogration "],
["Jurisdiction ","Addendum ","Cause of action ","Prior adjudications "],
["A legal document that changes a will.","A legal document sworn to by its signer.","A legal document that begins a case.","A legal document released by a judge."],
["Concurrent jurisdiction","Absolute jurisdiction","Congruent jurisdiction","Consecutive jurisdiction"],
["Consecutive sentences","Concurrent sentences","Covalent sentences","Convalescent sentences"],
["Birthdate","Address","Phone number","Criminal history"],
["Consecutive sentences ","Concurrent sentences ","Unappealable sentences ","Convalescent sentences "],
["Corroborate ","Corrugate ","Conjugate ","Consolidate "],["Attorney ","Judge ","Arbitrator ","Litigant "],
["An affirmative defense","A counterclaim","An ad litem defense","An answer"],
["Damages ","Counterclaim ","Default judgment ","Collection action "],
["A false statement of fact published to a third party that causes damage.","A false statement of fact that causes damage.","A false statement that causes damage.","A statement of fact published to a third party."],
["A default judgment.","A declaratory judgment.","A summary judgment.","A request for judicial intervention."],
["De novo","De facto","De jure","Delineated return"],
["A dead person ","A bankrupt person ","A person that dies without a will ","A defendant "],
["Devisee","Deviser","Devicer","Designee"],["Direct examination ","Cross examination ","Voir dire examination ","Ex parte examination "],
[" Discovery"," Adjournment"," Motion practice"," Investigation report"],["Dismissal with prejudice","Dismissal without prejudice","Dismissal due to default","Dismissal sua sponte"],
["Disbursement","Disbarment","Discontinuance","Destitution"],["Domestic violence","Home","Dominion and control","Workplace"],
["Bad or shocking behavior","Aggressive or violent behavior","Illegal or unlawful behavior","Passive or calm behavior"],
["Eminent domain","Demesne accumulation","Estoppel","Obligatory release"],[" Sign it"," Fill it"," Read it"," Sell it"],
["Fairness","Free market","Court-ordered visitation","Interrogatories"],
["Escheat ","Escrow ","Estop ","Assimilate "],
["Estate ","Probate ","Surrogation ","Benefit "],
["Ex parte.","De novo.","A posse ad esse.","In forma pauperis."],
["Executor","Executive","Exigent","Guardian"],
["Expunge ","Strike ","Adjudicate ","Move "],
[" Extradite"," Extrapolate"," Periapsis"," Exonerate"],
["Exonerate.","Excortiate.","Expedite.","Accelerate."],
["The power of the federal courts to hear matters which involve federal law.","The power of the federal courts to hear cases which happen across state lines.","The power of the federal courts to hear all matters related to a sitting president.","The power of the federal courts to enforce federal law."],
["Felony","Misdemeanor","Violation","Summons"],
["Felony.","Misdemeanor.","Violation.","Summons."],
["Up to one year in prison","Up to two years in prison","Up to three years in prison","Up to ten years in prison"],
["A high standard of care","A high standard of intelligence","A high rate of return","A high-stakes investment"],
["the jury","the judge","the foreperson","the expert witness"],["bench trial.","jury trial.","appeal.","in camera proceeding."],
["the jury.","the judge.","the foreperson.","the expert witness."],["foreclosure.","promissory estoppel.","bankruptcy.","collateral consequence."],
["give up.","get back.","go away.","fall."],["Garnish","Garish","Galvanize","Garrote"],["Good faith","Good cause","Full faith and credit","Reasonable cause"],
["Homicide","Suicide","Matricide","Patricide"],["At the beginning of trial.","At the end of trial.","At arraignment.","During discovery."],
["to represent oneself.","to impersonate an officer.","to steal personal property.","to pursue a valid lawsuit."],
["In forma pauperis.","In camera.","Exigent circumstances.","Indigent circumstances."],
["A minor.","A person under the age of 1.","A child under the custody of the state.","A person that does not own real property."],
["An infraction","A misdemeanor","A felony","A summons"],
["Inquest.","Digest.","Exigent trial.","Dunaway Hearing."],
["A conditional or temporary court order.","Two cases joined for one trial.","Two or more parties agreeing to a fact.","A conditional or temporary situation."],
["Interrogatories.","Interlocutories.","Interrogationaries.","Introductory requests."],
[" A judge"," A juror"," A foreperson"," An attorney"],
["Judgment debtor","Judgment creditor","Judgment satisfier","Judgment declarant"],
["Judgment debtor.","Judgment creditor","Judgment satisfier.","Judgment declarant."],
["The study of law.","Referring to a judge.","Authority for a court to hear a case.","The punishment of crime."],
[" jurist"," juror"," foreperson"," jurat"],
["Lessor","Lessee","Licensor","Licensee"],
["lessor","lessee","licensor","licensee"],
["legatee ","lessor ","lessee ","licensee "],
["Legal research","Defamation","Literal interpretation","Derogatory remarks"],
["Lien","Lean","Loan","Lone"],
["bad facts","bad odor","bad decorum","bad behavior"],
["A mediation.","A bench conference.","A jury trial.","An arbitration."],
["By the fact itself.","The thing speaks for itself.","Action without words.","Justice for all."],
["The thing speaks for itself","All are presumed innocent","Direct evidence is necessary","Burden of proof is met"],
["Transcript","Summary","Conclusion","Explanation"],
["murder ","manslaughter ","criminally negligent homicide ","vehicular manslaughter "],
["A criminal court plea of guilt that does not admit guilt for any other purpose.","A criminal court plea of guilt where the defendant serves no jail time.","A criminal court plea of guilt to a lesser crime than the top charge.","A criminal court plea of guilt where the defendant also admits civil liability."],
["It does not follow","It does not stride","It does not happen to be","It does not harm"],
[" notice"," stipulation"," adjudication"," injunction"],
["Now for then","Now and then","Now not, but then","Now, then, forever"],
["oath","order","constructive discharge","admission"],
["obligor","obligee","obviator","obsurer"],
["obligor.","obligee.","obviator.","obsurer."],
["parole","probation","bail","illegal"],
["while the action is pending","while the action is true","while the action is honorable","while the action is illegal"],
["receives money","pays money","declares bankruptcy","won a lawsuit"],
["receives money ","pays money ","declares bankruptcy ","won a lawsuit "],
["Peremptory challenge","Preemptory challenge","Per se challenge","Per temporal challenge"],
["A false statement made under oath.","A statement made under oath.","A false statement made intentionally under oath.","A statement made intentionally under oath."],
["Personal jurisdiction ","Order to show cause ","Writ of mandamus ","Tort law "],
["Grand jury","Petit jury","Superlative jury","Supreme jury"],
["Plaintiff","Defendant","Judge","Witness"],
["Possession","Position","Codicil","Personal property"],
["Precedent","History","Case law","Statute"],
["Preclude","Prelude","Prelim","Pretense"],
["For the good","For the free","For the conscientious","For the needy"],
["On one's own behalf","On one's own side","On one's own conclusion","On one's own advice"],
["Genuine","Unbelievable","Equitable","Honorable"],
[" Prosecute"," Adjourn"," Adjudicate"," Precipitate"],
["A cause legally strong enough to result in liability.","The sole and exclusive cause identified in a question of liability.","An illegitimate cause of action.","A cause legally resulting in no liability."],
["This for that","In or out","Truth for mercy","Criminal intent"],
["Record of arrests and prosecutions","Record of appeals and preliminaries","Record of actual performance","Record for attorney production"],
["Recusal","Refusal","Perusal","Remedial"],["Redaction","Infraction","Interaction","Refraction"],
["Thing decided","Thing accepted","Thing appealed","Thing sworn to"],
["Sanction","Suction","Secretion","Absolution"],
["Sequester","Semester","Cessation"," Intestate "],
["Without a day","Without a delay","Without a case","Without a merit"],
[" parole "," probation "," house arrest "," apellate review "],
[" Standing "," Personal jurisdiction "," Ad litem "," Leverage "],
[" Statute "," Statue "," Stature "," Stratus "],
["The time period by which a case may be started.","The time period by which a case must be ended.","The time period by which the judge must rule.","The time period by which default judgment must occur."],
["Of one's own accord.","Of one's own design.","Of one's own premonition.","Of one's own admission."],
["Erase or take away.","Declare unjust.","Arm oneself.","Assume to be true."],
["Production of documents","Production of a witness","Production of all facts","Production of oneself to court"],
["Closing argument ","Opening statement ","Voir dire ","Subrogation "],
["Summons ","Bill of particulars ","Request for judicial intervention ","Discovery demand "],
["suppress","supersede","circumvent","curriculum vitae"],
[" intestate "," testate "," restate "," estate "],
["testify","rectify","exemplify","excelsior"],
["Larceny","Larsony","Laceration","Lactation"],
["Someone that is guilty of a tort.","Someone that brings a case under tort law.","Someone that practices tort law.","Someone that is supplanted by another during a tort case."],
["Trespass","Burglary","Criminal mischief","Criminal contempt"],
["Uninhabitable","Uninhibited","Unintelligible","Inequitable"],
[" venue "," personal jurisdiction "," aventurine prospect "," adjunctive location "],
["Sworn to ","Inspected by ","Agreed to ","Spoken for "],
[" Voir dire"," Ad litem"," Res adjudicata"," Ipso facto"],
["Gives up the right to a grand jury hearing.","Gives up the right to speak before sentence.","Gives up the right to appeal a case.","Gives up the right to sue."],
["JUROR","WITNESS","JURIST","ADJUNCT"]]
legalcorrectanswerlist = ["jury selection","At first view","Preponderance","Beyond a reasonable doubt.","Not guilty","A court case or lawsuit","In this case only","The case to be heard on a later date","Decided","Signs legal papers","A written sworn statement","The act of taking property when a mortgage has not been paid.","Upon an affirmative defense claim","An agreement between parties","A claim that the accused was elsewhere during the commission of the crime.","A statement or claim that has not been proven.","Criminal procedure law","Civil practice law and rules ","A statement by the defendant before sentencing.","Mediation or arbitration","A request to a higher court to check a lower court's decision.","Someone who requests an appeal","Someone who defends or responds to an appeal ","A proceeding where defendant enters his or her initial plea.","A Supreme Court case that can change an order made by an administrative agency.","Trial court","Decide appeals","A money deposit meant to ensure defendant's return to court.","Court security","Court officer ","A court case started to absolve the petitioner of debt.","A meeting with the attorneys and judge about a case","An order to arrest someone who did not appear in court","Beneficiary","To separate","Cause of action ","Let the buyer beware","Chattel ","Jurisdiction ","A legal document that changes a will.","Concurrent jurisdiction","Concurrent sentences","Birthdate","Consecutive sentences ","Corroborate ","Attorney ","An affirmative defense","Damages ","A false statement of fact that causes damage.","A default judgment.","De novo","A dead person ","Devisee","Direct examination "," Discovery","Dismissal with prejudice","Disbursement","Home","Bad or shocking behavior","Eminent domain"," Sign it","Fairness","Escheat ","Estate ","Ex parte.","Executor","Expunge "," Extradite","Exonerate.","The power of the federal courts to hear matters which involve federal law.","Felony","Misdemeanor.","Up to one year in prison","A high standard of care","the jury","bench trial.","the judge.","foreclosure.","give up.","Garnish","Good faith","Homicide","At the beginning of trial.","to represent oneself.","In forma pauperis.","A minor.","An infraction","Inquest.","A conditional or temporary court order.","Interrogatories."," A judge","Judgment creditor","Judgment debtor.","The study of law."," juror","Lessor","lessee","legatee ","Defamation","Lien","bad behavior","A mediation.","By the fact itself.","The thing speaks for itself","Transcript","murder ","A criminal court plea of guilt that does not admit guilt for any other purpose.","It does not follow"," notice","Now for then","oath","obligee","obligor.","parole","while the action is pending","receives money","pays money ","Peremptory challenge","A false statement made intentionally under oath.","Personal jurisdiction ","Petit jury","Plaintiff","Possession","Precedent","Preclude","For the good","On one's own behalf","Genuine"," Prosecute","A cause legally strong enough to result in liability.","This for that","Record of arrests and prosecutions","Recusal","Redaction","Thing decided","Sanction","Sequester","Without a day"," probation "," Standing "," Statute ","The time period by which a case may be started.","Of one's own accord.","Erase or take away.","Production of documents","Closing argument ","Summons ","suppress"," testate ","testify","Larceny","Someone that is guilty of a tort.","Trespass","Uninhabitable"," venue ","Sworn to "," Voir dire","Gives up the right to a grand jury hearing.","WITNESS"]
# Note to self, one day you need to take a little time and wrap this up in a function so that it is automatically repeatable.
# grammar portion
aQnum = 0
newtest = open("Mock Test.txt","w")
newakey = open("Answer Key.txt","w")
newtest.write("""This is the grammar and sentence structure portion of the mock test. Use American English rules. For all portions, choose the BEST answer.
""")
print("This program is now generating the grammar portion of the test.")
for a in range(0,20):
aQnum += 1
aQnums = str(aQnum)
qselect = random.choice(grammarQlist)
newtest.write(aQnums)
newtest.write(".")
newtest.write(" ")
newtest.write(qselect)
qsee = grammarQlist.index(qselect)
newakey.write(aQnums)
newakey.write(". ")
newakey.write(qselect)
newakey.write("""
CORRECT ANSWER: """)
pass
newakey.write(grammarcorrectanswerlist[qsee])
newakey.write(""" - LETTER """)
pass
cleancorrectanswer = grammarcorrectanswerlist[qsee]
grammarQlist.remove(qselect)
#Question and answer, no longer required, are removed.
newtest.write("""
""")
pass
newtest.write("A. ")
choice1 = random.choice(grammarpossibleanswerslist[qsee])
newtest.write(choice1)
grammarpossibleanswerslist[qsee].remove(choice1)
newtest.write("""
""")
pass
choice2 = random.choice(grammarpossibleanswerslist[qsee])
newtest.write("B. ")
newtest.write(choice2)
newtest.write("""
""")
pass
grammarpossibleanswerslist[qsee].remove(choice2)
choice3 = random.choice(grammarpossibleanswerslist[qsee])
newtest.write("C. ")
newtest.write(choice3)
newtest.write("""
""")
pass
grammarpossibleanswerslist[qsee].remove(choice3)
choice4 = random.choice(grammarpossibleanswerslist[qsee])
newtest.write("D. ")
newtest.write(choice4)
newtest.write("""
""")
pass
# now theoretically we can avoid having to delete choice4 individually and simply delete the entire list of possible choices.
delete = grammarpossibleanswerslist[qsee]
grammarcorrectanswerlist.remove(cleancorrectanswer)
grammarpossibleanswerslist.remove(delete)
# Realized that an answer key without answer letters is really stupid and tried to come up with simple logic to choose the correct letter. This should make it more usable for instructor types and people grading mock tests.
if choice1 == cleancorrectanswer:
newakey.write("""A
""")
elif choice2 == cleancorrectanswer:
newakey.write("""B
""")
elif choice3 == cleancorrectanswer:
newakey.write("""C
""")
elif choice4 == cleancorrectanswer:
newakey.write("""D
""")
else:
pass
newakey.write("""ERROR
""")
print("This program is now generating the spelling portion of the test.")
newtest.write("""This is the spelling and vocabulary portion of the mock test.
""")
for b in range(0,20):
aQnum += 1
aQnums = str(aQnum)
qselect = random.choice(spellingQlist)
newtest.write(aQnums)
newtest.write(". ")
newtest.write(qselect)
qsee = spellingQlist.index(qselect)
newakey.write(aQnums)
newakey.write(". ")
newakey.write(qselect)
newakey.write("""
CORRECT ANSWER: """)
pass
newakey.write(spellingcorrectanswerlist[qsee])
newakey.write(""" - LETTER """)
pass
cleancorrectanswer = spellingcorrectanswerlist[qsee]
spellingcorrectanswerlist.remove(cleancorrectanswer)
spellingQlist.remove(qselect)
# Question and answer, no longer required, are removed.
newtest.write("""
""")
pass
newtest.write("A. ")
choice1 = random.choice(spellingpossibleanswerslist[qsee])
newtest.write(choice1)
spellingpossibleanswerslist[qsee].remove(choice1)
newtest.write("""
""")
pass
choice2 = random.choice(spellingpossibleanswerslist[qsee])
newtest.write("B. ")
newtest.write(choice2)
newtest.write("""
""")
pass
spellingpossibleanswerslist[qsee].remove(choice2)
choice3 = random.choice(spellingpossibleanswerslist[qsee])
newtest.write("C. ")
newtest.write(choice3)
newtest.write("""
""")
pass
spellingpossibleanswerslist[qsee].remove(choice3)
choice4 = random.choice(spellingpossibleanswerslist[qsee])
newtest.write("D. ")
newtest.write(choice4)
newtest.write("""
""")
pass
delete = spellingpossibleanswerslist[qsee]
spellingpossibleanswerslist.remove(delete)
if choice1 == cleancorrectanswer:
newakey.write("""A
""")
elif choice2 == cleancorrectanswer:
newakey.write("""B
""")
elif choice3 == cleancorrectanswer:
newakey.write("""C
""")
elif choice4 == cleancorrectanswer:
newakey.write("""D
""")
else:
pass
newakey.write("""ERROR
""")
print("This program is now generating the medical portion of the test.")
newtest.write("""This is the medical portion of the mock test.
""")
for c in range(0,10):
aQnum += 1
aQnums = str(aQnum)
newtest.write(aQnums)
newtest.write(". ")
qselect = random.choice(medicalQlist)
newtest.write(qselect)
qsee = medicalQlist.index(qselect)
newakey.write(aQnums)
newakey.write(". ")
newakey.write(qselect)
newakey.write("""
CORRECT ANSWER: """)
newakey.write(medicalcorrectanswerlist[qsee])
newakey.write(""" - LETTER """)
cleancorrectanswer = medicalcorrectanswerlist[qsee]
medicalQlist.remove(qselect)
newtest.write("""
""")
newtest.write("A. ")
choice1 = random.choice(medicalpossibleanswerslist[qsee])
newtest.write(choice1)
medicalpossibleanswerslist[qsee].remove(choice1)
newtest.write("""
""")
choice2 = random.choice(medicalpossibleanswerslist[qsee])
newtest.write("B. ")
newtest.write(choice2)
newtest.write("""
""")
medicalpossibleanswerslist[qsee].remove(choice2)
choice3 = random.choice(medicalpossibleanswerslist[qsee])
newtest.write("C. ")
newtest.write(choice3)
newtest.write("""
""")
medicalpossibleanswerslist[qsee].remove(choice3)
choice4 = random.choice(medicalpossibleanswerslist[qsee])
newtest.write("D. ")
newtest.write(choice4)
newtest.write("""
""")
delete = medicalpossibleanswerslist[qsee]
medicalpossibleanswerslist.remove(delete)
if choice1 == cleancorrectanswer:
newakey.write("""A
""")
elif choice2 == cleancorrectanswer:
newakey.write("""B
""")
elif choice3 == cleancorrectanswer:
newakey.write("""C
""")
elif choice4 == cleancorrectanswer:
newakey.write("""D
""")
else:
newakey.write("""ERROR
""")
medicalcorrectanswerlist.remove(cleancorrectanswer)
newtest.write("""This is the legal portion of the mock test.
""")
print("This program is now generating the legal part of the test.")
for d in range(0,10):
aQnum += 1
aQnums = str(aQnum)
qselect = random.choice(legalQlist)
newtest.write(aQnums)
newtest.write(". ")
newtest.write(qselect)
newtest.write("""
""")
qsee = legalQlist.index(qselect)
newakey.write(aQnums)
newakey.write(". ")
newakey.write(qselect)
newakey.write("""
CORRECT ANSWER: """)
newakey.write(legalcorrectanswerlist[qsee])
newakey.write(""" - LETTER """)
cleancorrectanswer = legalcorrectanswerlist[qsee]
legalcorrectanswerlist.remove(cleancorrectanswer)
legalQlist.remove(qselect)
newtest.write("A. ")
choice1 = random.choice(legalpossibleanswerslist[qsee])
newtest.write(choice1)
legalpossibleanswerslist[qsee].remove(choice1)
newtest.write("""
""")
choice2 = random.choice(legalpossibleanswerslist[qsee])
newtest.write("B. ")
newtest.write(choice2)
newtest.write("""
""")
legalpossibleanswerslist[qsee].remove(choice2)
choice3 = random.choice(legalpossibleanswerslist[qsee])
newtest.write("C. ")
newtest.write(choice3)
newtest.write("""
""")
legalpossibleanswerslist[qsee].remove(choice3)
choice4 = random.choice(legalpossibleanswerslist[qsee])
newtest.write("D. ")
newtest.write(choice4)
newtest.write("""
""")
delete = legalpossibleanswerslist[qsee]
legalpossibleanswerslist.remove(delete)
if choice1 == cleancorrectanswer:
newakey.write("""A
""")
elif choice2 == cleancorrectanswer:
newakey.write("""B
""")
elif choice3 == cleancorrectanswer:
newakey.write("""C
""")
elif choice4 == cleancorrectanswer:
newakey.write("""D
""")
else:
pass
newakey.write("""ERROR
""")
newtest.write("""This is the end of the mock test.""")
newtest.close()
newakey.close()
input("This program is now complete. A mock test and answer key should be generated in the same folder as the .py program. This program will terminate when you hit ENTER. If you encounter an error, you may report it at ChristopherDay227@gmail.com. Press enter to return to menu.")
return None
def Marker():
pass
version = "1"
print("Note: Timings are not exact. Transcript is marked at the 15 second reading interval.")
while True:
textname = input("Name of text file you wish to open. ")
if textname == "HACK":
wordspermin = "225"
symbol = "//"
break
else:
pass
wordspermin = input("Mark X words per minute. Input X. ")
symbol = input("Input marking symbol. ")
try:
wordsperminint = int(wordspermin)
wordspersecond = (wordsperminint/60)
roundedwordspersecond = round(wordspersecond)
roundedwordspersecondint = int(roundedwordspersecond)
if roundedwordspersecondint <= 0:
roundedwordspersecondint = 1
else:
pass
wordsper15seconds = roundedwordspersecondint*15
wordsper15seconds = int(round(wordsperminint/4))
if wordsper15seconds <= 0:
wordsper15seconds = 1
else:
pass
except:
input("Words per minute must be a number. Program will now terminate.")
return None
break
# Blank
def calwords(wordspermin):
try:
wordsperminint = int(wordspermin)
wordspersecond = (wordsperminint/60)
roundedwordspersecond = round(wordspersecond)
roundedwordspersecondint = int(roundedwordspersecond)
if roundedwordspersecondint <= 0:
roundedwordspersecondint = 1
else:
pass
wordsper15seconds = roundedwordspersecondint*15
wordsper15seconds = int(round(wordsperminint/4))
if wordsper15seconds <= 0:
wordsper15seconds = 1
else:
pass
except:
input("This is the hacked version of this program designed to create 23 speed classes at once, and it has errored.")
return None
return [wordsperminint,wordspersecond,roundedwordspersecond,roundedwordspersecondint,wordsper15seconds]
if textname == "HACK":
wint = 10
wordspermin = "0"
for q in range(0,23):
wint += 10
wordspermin = str(wint)
rename = calwords(wordspermin)
wordsperminint = rename[0]
wordspersecond = rename[1]
roundedwordspersecond = rename[2]
roundedwordspersecondint = rename[3]
wordsper15seconds = rename[4]
trigger = wordsper15seconds
textname = "r.txt"
with open(textname,"r") as markfile, open("MarkedTranscript" + wordspermin + ".txt","x") as newfile3:
wordscount = 0
for line in markfile:
words = line.split()
words_num = len(words)
new_line = ""
for idx, word in enumerate(words, start=1):
wordscount += 1
if word == "Q.":
wordscount -= 1
elif word == "A.":
wordscount -= 1
elif word == "COURT:":
wordscount -= 2
elif word == "WITNESS:":
wordscount -= 2
elif word == "MR.":
wordscount -= 2
elif word == "MS.":
wordscount -= 2
elif word == "--":
wordscount -= 1
else:
pass
if wordscount == trigger:
new_line += symbol + " "
wordscount = 0
new_line += word + (" " if idx < words_num else "")
newfile3.write(new_line + '\n')
return None
else:
trigger = wordsper15seconds
with open(textname,"r") as markfile, open("MarkedTranscript.txt","x") as newfile3:
wordscount = 0
for line in markfile:
words = line.split()
words_num = len(words)
new_line = ""
for idx, word in enumerate(words, start=1):
wordscount += 1
if word == "Q.":
wordscount -= 1
elif word == "A.":
wordscount -= 1
elif word == "WITNESS:":
wordscount -= 2
elif word == "COURT:":
wordscount -= 2
elif word == "--":
wordscount -= 1
elif word == "MS.":
wordscount -= 2
elif word == "MR.":
wordscount -= 2
else:
pass
if wordscount == trigger:
new_line += symbol + " "
wordscount = 0
else:
pass
new_line += word + (" " if idx < words_num else "")
newfile3.write(new_line + '\n')
return None
def streamer():
# If a person copies and pastes a block of text that contains the enter key it glitches the program. You must work on this.
ptest = input("Input name of text file to stream: ")
try:
newfile = open(ptest,"r")
ptest = newfile.read()
except:
input("The file name entered does not seem to be correct. Press enter to return to menu. ")
return None
wordslist = ptest.split()
wlistsave = wordslist
if "Q." in wordslist:
wordslist.remove("Q.")
if "A." in wordslist:
wordslist.remove("A.")
if "THE" in wordslist:
wordslist.remove("THE")
if "WITNESS:" in wordslist:
wordslist.remove("WITNESS:")
if "COURT:" in wordslist:
wordslist.remove("COURT:")
if "--" in wordslist:
wordslist.remove("--")
ccount = "".join(wordslist)
characters = len(ccount)
words = len(wordslist)
wordslist = wlistsave
while True:
wordspermin = input("Enter desired words per minute: ")
try:
wordspermin = int(wordspermin)
except:
print("You did not enter a number. Try again.")
continue
break
while True:
mode = input("You may stream by character or word. To stream by word, enter the number 1. To stream by character, enter the number two. Do not use punctuation, spaces, or words: ")
if mode == "1":
pass
elif mode == "2":
pass
else:
print("You did not enter a 1 or a 2. Try again.")
continue
try:
mode = int(mode)
except:
print("You did not enter a valid number value. Try again.")
continue
break
minutes = words / wordspermin
seconds = minutes / 60
wps = wordspermin / 60
characterspermin = characters / minutes
characterspersecond = characterspermin / 60
if mode == 2:
stream = 1 / characterspersecond
for i in ptest:
print(i,end="",flush=True)
time.sleep(stream)
else:
stream = 1 / wps
for i in wordslist:
print(i,end=" ",flush=True)
time.sleep(stream)
print()
input("Program has ended. Press enter to return to menu.")
newfile.close()
return None
def menu():
print("Welcome to the Stenonymous Suite. My name is I.S.")
print("")
time.sleep(2)
print("I am a computer program written to help create finger drills, written-knowledge style questions, and mark .txt transcripts.")
print("")
time.sleep(2)
while True:
print("Please enter the number of the program you would like to load. If you need HELP, type HELP in all caps. Do not use punctuation. To exit, type EXIT.")
print("")
time.sleep(2)
print("""1 - Reserved.
2 - Finger Drill Generator.
3 - Written Knowledge Test Generator.
4 - .Txt Transcript Marker.
5 - Streamer. """)
print(" ")
going = input()
if going == "1":
print("1 is an invalid option.")
time.sleep(3)
continue
elif going == "2":
fingerdrill()
elif going == "3":
WKT()
elif going == "4":
Marker()
elif going == "5":
streamer()
elif going == "HELP":
print("You have stated that you require help. Please note that when asking for inputs, this program generally does not expect you to use any punctuation or spacing.")
print()
time.sleep(5)
print("Please do not type anything while I explain my programs. This will take approximately 60 seconds.")
print()
time.sleep(5)
print("If you type 1, nothing will happen.")
print()
time.sleep(3)
print("The finger drill generator will let you create random finger drills using the default lists or your own custom word lists. Please note it also uses .txt files. If you want that, type 2.")
print()
time.sleep(4)
print("The Written Knowledge Test generator will create a random .txt answer key and random .txt written knowledge test. This will be somewhat similar to a multiple choice test you may see as a stenographer. If you want that, type 3.")
print()
time.sleep(4)
print("The .txt transcript marker will take a .txt file that you have and mark it for speed using the marking symbol you ask for, which can be any regular keyboard character. If you want that, type 4.")
print()
time.sleep(4)
print("The streamer streams words or characters on the screen at a specified words per minute. Type the .txt file you want it to read and it will stream it to you.")
print()
time.sleep(4)
print("Please note that if a program is asking you for a .txt file, that .txt file must be in the same folder as this computer program.")
print()
time.sleep(3)
print("Please note that if this program creates a .txt file, it will be in the same folder as this computer program.")
print()
time.sleep(2)
print("Lastly, please note that if a program asks you to specify a file name, like customlist.txt, it is case sensitive, and you must include the file extension .txt. If you just type customlist or if you type CUSTOMLIST.txt, it will not work.")
print()
time.sleep(5)
print("If you get a glitch in the program, please write ChristopherDay227@gmail.com with as much information as possible, such as what part of the program you were using and what happened.")
print()
time.sleep(5)
print("Returning to the menu.")
print()
time.sleep(2)
continue
elif going == "EXIT":
print("This program will close in 20 seconds. Please enjoy some number art I made just for you.")
time.sleep(6)
for i in range(1,200000):
art = random.randint(1,1000000)
print(art,end="")
exit()
else:
print("You have not entered a valid option.")
time.sleep(2)
continue
menu()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment