Add WA Exam Prep — 143 original questions (Core/Structural/Ornamental/Ag) with scoring + explanations
This commit is contained in:
121
add_wa_prep.py
Normal file
121
add_wa_prep.py
Normal file
@@ -0,0 +1,121 @@
|
||||
import json, sys
|
||||
sys.path.insert(0, "/Users/drjones/pest-nocturne")
|
||||
from wa_exam_data import WAEXAM
|
||||
|
||||
p = "/Users/drjones/pest-nocturne/index.html"
|
||||
s = open(p).read()
|
||||
|
||||
# 1. Add WA Prep tab to VIEWS
|
||||
old_views = 'const VIEWS=[["home","Suite"],["field","Field Guide"],["keys","Keys"],["house","22 Points"],["cards","Flashcards"],["exam","Exam"],["gloss","Glossary"],["wa","WA Cert"]];'
|
||||
new_views = 'const VIEWS=[["home","Suite"],["field","Field Guide"],["keys","Keys"],["house","22 Points"],["cards","Flashcards"],["exam","Exam"],["gloss","Glossary"],["wa","WA Cert"],["waprep","WA Prep"]];'
|
||||
assert old_views in s, "VIEWS not found"
|
||||
s = s.replace(old_views, new_views)
|
||||
|
||||
# 2. Add section
|
||||
old_sec = '<section class="view" id="v-wa"></section>'
|
||||
new_sec = old_sec + '\n <section class="view" id="v-waprep"></section>'
|
||||
assert old_sec in s, "v-wa section not found"
|
||||
s = s.replace(old_sec, new_sec)
|
||||
|
||||
# 3. Build the WA Prep view + quiz (self-contained)
|
||||
wa_data_json = json.dumps(WAEXAM) # [{cat,q,a:[...],c,x},...]
|
||||
|
||||
RENDER = r'''
|
||||
<script>
|
||||
/* ==== WA PREP — original practice question bank ==== */
|
||||
const WAEXAM = __WADATA__;
|
||||
|
||||
(function(){
|
||||
let curCat = 'All', qi = 0, score = 0, answered = 0, qlist = [];
|
||||
const CATS = ['All','Core','Structural','Ornamental & Turf','Agricultural'];
|
||||
|
||||
function buildList(){
|
||||
qlist = curCat === 'All' ? WAEXAM.slice() : WAEXAM.filter(q => q.cat === curCat);
|
||||
// shuffle deterministically-ish
|
||||
qlist = qlist.map((q,i)=>({...q, _r: Math.random()})).sort((a,b)=>a._r-b._r);
|
||||
qi = 0; score = 0; answered = 0;
|
||||
}
|
||||
|
||||
function render(){
|
||||
const root = document.getElementById('v-waprep');
|
||||
const cats = CATS.map(c=>`<button class="wac${c===curCat?' on':''}" data-wacat="${c}">${c}</button>`).join('');
|
||||
const total = qlist.length;
|
||||
const q = qlist[qi];
|
||||
let body = '';
|
||||
if (total === 0) {
|
||||
body = `<p class="lede">No questions in this category yet.</p>`;
|
||||
} else {
|
||||
const done = answered >= total;
|
||||
body = `
|
||||
<div class="wa-prog"><span>${Math.min(answered+1, total)} / ${total}</span><span class="wa-score">Score ${score}/${answered||1}</span></div>
|
||||
<div class="wa-q">${q.q}</div>
|
||||
<div class="wa-opts">${q.a.map((opt, i)=>`<button class="wa-opt" data-i="${i}">${String.fromCharCode(65+i)}. ${opt}</button>`).join('')}</div>
|
||||
<div class="wa-expl" id="wa-expl" style="display:none"></div>
|
||||
<div class="wa-nav" style="display:none">
|
||||
<button class="btn" id="wa-next">${qi+1 < total ? 'Next →' : 'Restart'}</button>
|
||||
</div>`;
|
||||
}
|
||||
root.innerHTML = `
|
||||
<section class="hero" style="padding-top:26px">
|
||||
<div class="eyebrow">Original question bank · not scraped, written for you</div>
|
||||
<h1><span class="lo">Pass the license</span>WA<br><em>Exam Prep</em></h1>
|
||||
<p class="lede">${WAEXAM.length} original Washington pesticide-applicator questions across Core, Structural, Ornamental & Turf, and Agricultural. Answer, read why, and track your score.</p>
|
||||
<div class="wa-cats">${cats}</div>
|
||||
</section>
|
||||
<section class="section" style="padding-top:10px">
|
||||
<div class="wa-card">${body}</div>
|
||||
</section>`;
|
||||
|
||||
// wire
|
||||
root.querySelectorAll('[data-wacat]').forEach(b=>b.addEventListener('click', ()=>{ curCat = b.dataset.wacat; buildList(); render(); }));
|
||||
root.querySelectorAll('.wa-opt').forEach(b=>b.addEventListener('click', ()=>{
|
||||
const i = +b.dataset.i;
|
||||
const correct = i === q.c;
|
||||
if (correct) score++;
|
||||
answered++;
|
||||
root.querySelectorAll('.wa-opt').forEach(o=>{
|
||||
o.disabled = true;
|
||||
if (+o.dataset.i === q.c) o.classList.add('right');
|
||||
});
|
||||
if (!correct) b.classList.add('wrong');
|
||||
const expl = root.querySelector('#wa-expl');
|
||||
expl.style.display = 'block';
|
||||
expl.innerHTML = `<strong>${correct ? 'Correct' : 'Incorrect'}.</strong> ${q.x}`;
|
||||
root.querySelector('.wa-nav').style.display = 'block';
|
||||
root.querySelector('.wa-score').textContent = `Score ${score}/${answered}`;
|
||||
}));
|
||||
const nx = root.querySelector('#wa-next');
|
||||
if (nx) nx.addEventListener('click', ()=>{ if (qi+1 < total) { qi++; } else { buildList(); } render(); });
|
||||
}
|
||||
|
||||
// render once when the view is first opened
|
||||
const origGo = window.go;
|
||||
window.go = function(v){
|
||||
if (v === 'waprep') { buildList(); render(); }
|
||||
origGo(v);
|
||||
};
|
||||
})();
|
||||
</script>
|
||||
<style>
|
||||
.wa-cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
|
||||
.wa-cats .wac{padding:8px 16px;border-radius:999px;border:1px solid var(--line,#2C3455);background:var(--surface,#141A30);color:var(--text,#EDE7D6);cursor:pointer;font-size:.85rem}
|
||||
.wa-cats .wac.on{background:var(--brass,#E3A53F);color:#1a1206;border-color:var(--brass,#E3A53F);font-weight:700}
|
||||
.wa-card{background:var(--surface,#141A30);border:1px solid var(--line,#2C3455);border-radius:14px;padding:24px;max-width:760px;margin:0 auto}
|
||||
.wa-prog{display:flex;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:.78rem;color:var(--text-faint,#6E7688);margin-bottom:16px}
|
||||
.wa-score{color:var(--verdigris,#54BFA9)}
|
||||
.wa-q{font-family:Fraunces,serif;font-size:1.3rem;line-height:1.4;color:var(--text,#EDE7D6);margin-bottom:18px}
|
||||
.wa-opts{display:flex;flex-direction:column;gap:10px}
|
||||
.wa-opt{text-align:left;padding:12px 16px;border-radius:10px;border:1px solid var(--line,#2C3455);background:var(--surface-2,#1B2239);color:var(--text,#EDE7D6);cursor:pointer;font-size:.95rem;line-height:1.4}
|
||||
.wa-opt:hover:not(:disabled){border-color:var(--brass,#E3A53F)}
|
||||
.wa-opt.right{background:color-mix(in srgb,var(--verdigris,#54BFA9) 22%,transparent);border-color:var(--verdigris,#54BFA9)}
|
||||
.wa-opt.wrong{background:color-mix(in srgb,var(--crimson,#DE5F45) 22%,transparent);border-color:var(--crimson,#DE5F45)}
|
||||
.wa-opt:disabled{cursor:default;opacity:.9}
|
||||
.wa-expl{margin-top:16px;padding:12px 16px;border-left:3px solid var(--verdigris,#54BFA9);background:color-mix(in srgb,var(--verdigris,#54BFA9) 9%,transparent);border-radius:8px;font-size:.9rem;line-height:1.5;color:var(--text,#EDE7D6)}
|
||||
.wa-nav{margin-top:16px;text-align:right}
|
||||
</style>
|
||||
'''.replace('__WADATA__', wa_data_json)
|
||||
|
||||
s = s.rstrip() + '\n' + RENDER + '\n'
|
||||
|
||||
open(p, "w").write(s)
|
||||
print(f"injected WA Prep view with {len(WAEXAM)} questions; size {len(s)}")
|
||||
97
index.html
97
index.html
File diff suppressed because one or more lines are too long
324
wa_exam_data.py
Normal file
324
wa_exam_data.py
Normal file
@@ -0,0 +1,324 @@
|
||||
# Original Washington pesticide applicator exam question bank.
|
||||
# Written fresh (not scraped) for Pest Nocturne. cat = Core | Structural | Ornamental & Turf | Agricultural
|
||||
# Each: q, a[4], c (correct index), x (explanation)
|
||||
|
||||
CORE = [
|
||||
# — Laws & Regulations (FIFRA) —
|
||||
("Which federal law is the primary authority for pesticide regulation in the United States?",
|
||||
["Clean Water Act","FIFRA (Federal Insecticide, Fungicide, and Rodenticide Act)","OSHA Act","Endangered Species Act"],1,
|
||||
"FIFRA governs the registration, sale, and use of pesticides nationwide."),
|
||||
("Under FIFRA, a pesticide may be used legally only according to", ["the salesman's advice","the buyer's preference","the label directions","the manufacturer's website"],2,
|
||||
"The label is the law — using a pesticide in any way inconsistent with its labeling is a violation."),
|
||||
("A pesticide classified as a 'Restricted Use' pesticide can be applied by", ["anyone over 18","a certified applicator or someone under their direct supervision","a homeowner","any employee"],1,
|
||||
"Restricted-use pesticides require certification because of their potential to harm people or the environment."),
|
||||
("Which agency administers Washington's pesticide licensing and enforcement?", ["EPA","OSHA","Washington State Department of Agriculture (WSDA)","Department of Ecology"],2,
|
||||
"WSDA is the state lead agency for pesticide regulation in Washington."),
|
||||
("Pesticides must be registered before sale by", ["the state only","EPA and, for Washington, WSDA","the retailer","the applicator"],1,
|
||||
"Registration is a two-level system: EPA registers federally, and WSDA registers for sale in Washington."),
|
||||
("A pesticide label is a legal document. Using a pesticide at a rate HIGHER than the label allows is", ["acceptable in hard cases","a violation of law","fine if the pest is bad","allowed for licensed applicators"],1,
|
||||
"Exceeding the labeled rate is illegal, even for certified applicators."),
|
||||
("Who is responsible for ensuring a pesticide is applied according to the label?", ["the manufacturer","the seller","the applicator","the property owner"],2,
|
||||
"The applicator carries the legal responsibility to follow the label."),
|
||||
("Which statement about pesticide storage is correct?", ["Store with food if sealed","Store in a locked, ventilated, dry area away from food and feed","Store near wellheads for convenience","Store in direct sunlight"],1,
|
||||
"Pesticides must be stored locked, dry, ventilated, and away from food, feed, and water sources."),
|
||||
("A pesticide container should be triple-rinsed", ["before disposal","only if it held liquid","before refilling","never"],0,
|
||||
"Triple-rinse (or equivalent) empty containers before disposal or recycling."),
|
||||
("Illegally applying a pesticide can result in", ["no penalty if licensed","fines and loss of license","a warning only","a small fee"],1,
|
||||
"Violations can bring civil and criminal penalties and suspension or revocation of a license."),
|
||||
# — Labels & Labeling —
|
||||
("The signal word 'DANGER' on a label means the product is", ["moderately toxic","slightly toxic","highly toxic (Toxicity Category I)","non-toxic"],2,
|
||||
"DANGER = Category I, the highest acute toxicity. It may also carry 'POISON' with a skull and crossbones."),
|
||||
("The signal word 'WARNING' indicates the pesticide is", ["highly toxic","moderately toxic (Category II)","slightly toxic","harmless"],1,
|
||||
"WARNING = Toxicity Category II, moderate acute toxicity."),
|
||||
("The signal word 'CAUTION' means the product is", ["highly toxic","moderately toxic","slightly toxic (Category III) or relatively non-toxic (IV)","flammable"],2,
|
||||
"CAUTION covers Categories III and IV, the least acutely toxic."),
|
||||
("The 'Statement of Practical Treatment' on a label tells you", ["how to store the product","first aid and what to do if exposed","how to mix it","the shelf life"],1,
|
||||
"This section gives first-aid and emergency medical instructions."),
|
||||
("'Directions for Use' on the label include all of the following EXCEPT", ["pests controlled","application rate","sites where it may be used","the retail price"],3,
|
||||
"Price is never on the label; the label covers pests, rates, sites, timing, and methods."),
|
||||
("The common name of a pesticide is", ["the brand name","a simple, accepted name for the active ingredient","the EPA registration number","the distributor's name"],1,
|
||||
"The common name identifies the active ingredient (e.g., 'bifenthrin'), unlike the brand name."),
|
||||
("The active ingredient of a pesticide is", ["the water added at mixing","the chemical that actually controls the pest","the carrier","the emulsifier"],1,
|
||||
"The active ingredient is the chemical that kills or repels the target pest."),
|
||||
("If part of a label is missing or illegible, you should", ["guess at the missing part","use the product anyway","obtain a complete label before use","ask a coworker"],2,
|
||||
"Never use a pesticide without a complete, legible label."),
|
||||
("Precautionary statements on a label include", ["hazards to humans, environment, and physical/chemical hazards","the product's cost","the retailer's return policy","shipping weight"],0,
|
||||
"Precautionary statements cover human, environmental, and physical/chemical hazards."),
|
||||
("'Do not apply when wind exceeds X mph' is an example of", ["a marketing statement","an environmental precaution/drift control statement","a storage instruction","a warranty"],1,
|
||||
"This is a precaution to prevent drift and protect non-target areas."),
|
||||
# — Pesticide Safety & Toxicity —
|
||||
("The most common route of pesticide exposure for applicators is", ["oral (mouth)","inhalation (lungs)","dermal (skin)","ocular (eyes)"],2,
|
||||
"Dermal exposure — through the skin — is the most common route for applicators."),
|
||||
("LD50 is a measure of", ["how fast a pesticide works","the dose that kills 50% of a test population (acute toxicity)","the shelf life","the cost per gallon"],1,
|
||||
"LD50 (lethal dose 50%) is a standard measure of acute toxicity."),
|
||||
("A pesticide with an LD50 of 5 mg/kg is", ["less toxic than one with an LD50 of 500 mg/kg","more toxic than one with an LD50 of 500 mg/kg","equally toxic","non-toxic"],1,
|
||||
"A SMALLER LD50 number means MORE toxic — it takes less chemical to be lethal."),
|
||||
("The first step to take after any pesticide exposure is", ["wait to see if symptoms develop","read the label and follow its first-aid directions","drink a glass of milk","take a shower"],1,
|
||||
"The label's first-aid section is the immediate source of correct action."),
|
||||
("The Poison Control Center number is", ["911 only","1-800-222-1222","411","1-800-555-1212"],1,
|
||||
"1-800-222-1222 connects to Poison Control 24/7."),
|
||||
("If pesticide is spilled on skin, you should immediately", ["wipe it off and continue","wash with plenty of soap and water, and remove contaminated clothing","apply lotion","wait until break"],1,
|
||||
"Wash the area immediately with soap and water and remove contaminated clothing."),
|
||||
("Symptoms of pesticide poisoning can include", ["headache, nausea, dizziness, and blurred vision","increased appetite","clearer vision","none of the above"],0,
|
||||
"Nausea, headache, dizziness, and blurred vision are common poisoning symptoms."),
|
||||
("Cholinesterase is an enzyme affected by which class of pesticides?", ["pyrethroids","organophosphates and carbamates","insect growth regulators","botanicals"],1,
|
||||
"Organophosphates and carbamates inhibit cholinesterase, disrupting nerve function."),
|
||||
("If a pesticide gets in the eyes, flush with", ["rubbing alcohol","mild water for at least 15 minutes","soapy water","a dry cloth"],1,
|
||||
"Flush eyes gently with clean water for 15 minutes, then seek medical help."),
|
||||
("Which is NOT a way to reduce pesticide exposure when mixing?", ["wear PPE","mix outdoors in a ventilated area","mix with bare hands","measure carefully"],2,
|
||||
"Never handle concentrated pesticide with bare hands; always wear proper PPE."),
|
||||
# — PPE —
|
||||
("The single most important PPE for preventing dermal exposure is", ["a hard hat","chemical-resistant gloves","earplugs","steel-toe boots"],1,
|
||||
"Chemical-resistant gloves protect the hands, the most likely contact point."),
|
||||
("Chemical-resistant gloves should be checked for leaks by", ["wearing them only once","filling them with water and checking for leaks","stretching them","sniffing them"],1,
|
||||
"Test gloves by filling with water (or air) to detect pinholes before use."),
|
||||
("Which respirator is correct for most pesticide vapors?", ["a dust mask","a NIOSH-approved chemical cartridge respirator","a surgical mask","no respirator"],1,
|
||||
"Chemical cartridge respirators with the correct cartridge filter vapors; dust masks don't."),
|
||||
("Goggles or a face shield are worn to protect against", ["dermal exposure to the arms","eye exposure from splashes and dust","foot injuries","heat"],1,
|
||||
"Eye protection guards against splashes and drifting particles."),
|
||||
("PPE should be", ["reused without cleaning","washed separately from other clothing and inspected before each use","stored wet","shared between workers"],1,
|
||||
"Wash PPE separately, inspect before each use, and store it clean and dry."),
|
||||
("After each use, reusable chemical-resistant gloves should be", ["discarded immediately","washed, inspected, and dried","left inside-out","reused without inspection"],1,
|
||||
"Clean, inspect for holes, and dry gloves before the next use."),
|
||||
("A coverall worn for pesticide handling should be", ["loose and torn","clean, intact, and worn over regular clothes","worn only in cold weather","replaced only when torn"],1,
|
||||
"Coveralls should be clean and intact, worn over regular clothing."),
|
||||
("The type of respirator cartridge you need depends on", ["your preference","the pesticide being used and its label requirements","the color of the can","the price"],1,
|
||||
"The label specifies the correct respirator and cartridge for the pesticide."),
|
||||
# — Environmental Protection —
|
||||
("Pesticide drift is most likely when", ["wind is calm","wind is strong and droplets are small","it is raining","at night"],1,
|
||||
"Small droplets and strong wind increase the chance of off-target drift."),
|
||||
("To reduce drift, an applicator should", ["increase nozzle height","use larger droplets and lower pressure","spray upwind of the target","spray at midday"],1,
|
||||
"Larger droplets and lower pressure reduce drift."),
|
||||
("Pesticide can contaminate groundwater most easily when", ["soil is sandy and the water table is shallow","soil is heavy clay","it is frozen","on slopes"],0,
|
||||
"Sandy soils and shallow water tables allow pesticides to leach into groundwater."),
|
||||
("A buffer zone is", ["a storage area","an untreated strip between a treated area and a sensitive area (water, habitat)","a mixing pad","a parking area"],1,
|
||||
"Buffer zones protect sensitive areas from drift and runoff."),
|
||||
("The Endangered Species Act can restrict pesticide use", ["never","to protect listed threatened or endangered species in their habitat","only on farms","only in winter"],1,
|
||||
"Restrictions may apply where pesticides could harm federally listed species."),
|
||||
("To protect pollinators, avoid applying insecticides", ["on blooming crops when bees are foraging","at dawn","in winter","after bloom"],0,
|
||||
"Avoid treating flowering plants when bees are actively foraging."),
|
||||
("Pesticide runoff into a stream is most likely from", ["applying to dry pavement","applying on a slope near water during or before heavy rain","indoor use","winter use"],1,
|
||||
"Applying near water on slopes before rain increases runoff risk."),
|
||||
("Empty pesticide containers should be", ["buried","burned","triple-rinsed and disposed of according to the label","thrown in regular trash"],2,
|
||||
"Triple-rinse and follow label disposal instructions."),
|
||||
("A spill of concentrated pesticide should be", ["washed down a drain","contained, cleaned up, and reported per label and regulation","left to evaporate","hosed into soil"],1,
|
||||
"Contain the spill, clean it up with absorbents, and follow reporting rules."),
|
||||
("Never store pesticides", ["in a locked cabinet","in a dry shed","near food, feed, seed, or water sources","in original containers"],2,
|
||||
"Keep pesticides away from anything that could be contaminated."),
|
||||
# — Formulations —
|
||||
("An 'EC' formulation means", ["emulsifiable concentrate","extra concentrate","electrical charge","easy clean"],0,
|
||||
"EC = emulsifiable concentrate, a liquid that forms an emulsion when mixed with water."),
|
||||
("A 'WP' formulation is a", ["wettable powder","water pill","white paste","weak poison"],0,
|
||||
"WP = wettable powder, a dry powder mixed with water to form a suspension."),
|
||||
("A granular (G) formulation is applied", ["as a spray","dry, without water","as a fog","only indoors"],1,
|
||||
"Granules are dry and applied without mixing with water."),
|
||||
("A bait formulation", ["is always sprayed","mixes the toxicant with an attractant the pest eats","is only for termites","is a fumigant"],1,
|
||||
"Baits combine a toxicant with an attractant the target pest consumes."),
|
||||
("An adjuvant is", ["the active ingredient","a substance added to improve a pesticide's performance","the container","the label"],1,
|
||||
"Adjuvants (surfactants, spreaders, stickers) enhance pesticide effectiveness."),
|
||||
("Which formulation is most likely to clog spray nozzles?", ["emulsifiable concentrate","wettable powder (if not agitated)","solution","bait"],1,
|
||||
"Wettable powders settle out and can clog nozzles without constant agitation."),
|
||||
("A 'solution' formulation is", ["cloudy when mixed","a true solution that stays dissolved and clear","always a gas","a powder"],1,
|
||||
"Solutions dissolve completely and stay clear; no agitation needed."),
|
||||
("Formulations that are 'ready to use' (RTU)", ["require dilution","are applied directly from the container as-is","need a license","are only for indoor use"],1,
|
||||
"RTU products are pre-mixed and applied directly."),
|
||||
("An aerosol formulation is useful for", ["large fields","crack and crevice or space treatments","soil drenching","tree injection"],1,
|
||||
"Aerosols deliver a fine mist for cracks, crevices, and small spaces."),
|
||||
# — Application Equipment & Calibration —
|
||||
("The nozzle component that determines droplet size and spray pattern is the", ["tank","tip/orifice","hose","pump"],1,
|
||||
"The nozzle tip controls flow rate, droplet size, and pattern."),
|
||||
("Calibration means", ["washing the sprayer","adjusting the sprayer to deliver the correct amount of product per area","painting the tank","buying a new nozzle"],1,
|
||||
"Calibration ensures you apply the correct rate per unit area."),
|
||||
("The formula for gallons per acre (GPA) from nozzle output is", ["GPA = (5940 × GPM per nozzle) ÷ (MPH × nozzle spacing in inches)","GPA = MPH × nozzles","GPA = GPM × 100","GPA = tank size ÷ field size"],0,
|
||||
"GPA = (5940 × GPM) ÷ (MPH × nozzle spacing in inches) is the standard calibration formula."),
|
||||
("Before calibrating, you should", ["guess the output","check for worn or clogged nozzles and replace as needed","fill the tank completely","remove all PPE"],1,
|
||||
"Worn or clogged nozzles change output and must be corrected before calibration."),
|
||||
("Worn nozzles deliver", ["less than rated","more than rated and uneven patterns","the same output forever","no output"],1,
|
||||
"Worn nozzles over-apply and produce uneven patterns."),
|
||||
("Backflow prevention devices protect", ["the spray tank","the water supply from contamination","the tires","the pump"],1,
|
||||
"Backflow preventers keep pesticides from siphoning back into the water source."),
|
||||
("When mixing pesticides, the correct order generally is", ["add everything at once","add the pesticide first","add water first, then pesticides, following label mixing order","stir dry"],2,
|
||||
"Add water first (partial fill), then pesticides per label mixing order, then top off."),
|
||||
("A backpack sprayer is best suited for", ["large fields","small, targeted applications and spot treatments","aerial application","whole orchards"],1,
|
||||
"Backpack sprayers are for small, precise applications."),
|
||||
("Sprayer pressure should be", ["as high as possible","set to the label and nozzle manufacturer's recommended range","always maximum","ignored"],1,
|
||||
"Use the recommended pressure for the nozzle and product."),
|
||||
("After spraying, the sprayer should be", ["left full","rinsed (triple-rinsed) and decontaminated","stored dirty","drained into a gutter"],1,
|
||||
"Rinse and decontaminate the sprayer after each use to prevent cross-contamination."),
|
||||
# — IPM —
|
||||
("IPM stands for", ["International Pest Management","Integrated Pest Management","Insect Prevention Method","Industrial Pesticide Mix"],1,
|
||||
"IPM = Integrated Pest Management."),
|
||||
("The first step in IPM is", ["spraying immediately","correctly identifying the pest and monitoring its population","fumigation","calling the EPA"],1,
|
||||
"Proper pest identification and monitoring are the foundation of IPM."),
|
||||
("An 'action threshold' is", ["the maximum label rate","the pest population level at which control should begin","the legal limit","the tank size"],1,
|
||||
"The action threshold is the pest level at which you must act to prevent damage."),
|
||||
("Which is a biological control method?", ["herbicide","releasing natural enemies (predators/parasites)","a fogger","soil fumigation"],1,
|
||||
"Biological control uses natural enemies of the pest."),
|
||||
("A cultural control method is", ["changing the environment (sanitation, crop rotation, moisture management) to make it less favorable for pests","applying a chemical","using traps only","none"],0,
|
||||
"Cultural controls modify the environment to suppress pests."),
|
||||
("A mechanical control method is", ["a bait","a trap or physical barrier","a systemic pesticide","a growth regulator"],1,
|
||||
"Mechanical controls physically remove or exclude pests (traps, barriers, screens)."),
|
||||
("Using pesticides as part of IPM should be", ["the first option always","only when needed, as one tool among several","never done","the only option"],1,
|
||||
"In IPM, pesticides are used judiciously, only when other methods are insufficient."),
|
||||
("Regular monitoring helps an applicator", ["waste pesticide","detect pests early and decide if/when to treat","avoid all paperwork","increase drift"],1,
|
||||
"Monitoring catches problems early so control is targeted and timely."),
|
||||
("Sanitation is an example of which control type?", ["chemical","cultural","biological","regulatory"],1,
|
||||
"Sanitation (removing food, water, shelter) is a cultural control."),
|
||||
("The goal of IPM is to", ["eliminate every insect","manage pests at acceptable levels with minimal risk and cost","use the most pesticide","avoid all chemicals at any cost"],1,
|
||||
"IPM manages pests below damaging levels with the least risk and cost."),
|
||||
# — WPS —
|
||||
("The Worker Protection Standard (WPS) protects", ["only the applicator","agricultural workers and pesticide handlers from exposure","retail employees","homeowners"],1,
|
||||
"WPS protects workers and handlers on farms, nurseries, and greenhouses."),
|
||||
("REI stands for", ["Restricted Entry Interval","Regular Exposure Interval","Rapid Entry Interval","Required Equipment Inspection"],0,
|
||||
"REI = Restricted Entry Interval, the time after application when entry is limited."),
|
||||
("During a REI, workers may", ["enter freely","enter only with proper PPE and training if allowed","enter without PPE","enter to harvest"],1,
|
||||
"During REI, entry is restricted; only trained workers with required PPE may enter under specific rules."),
|
||||
("An employer must provide WPS-required workers with", ["no information","pesticide safety training and information about recent applications","free pesticide","a phone"],1,
|
||||
"Workers must receive training and be informed of pesticide applications."),
|
||||
("A 'central posting' area at a WPS worksite is where", ["pesticides are stored","workers can find application information and the safety poster","equipment is parked","lunch is eaten"],1,
|
||||
"Central posting displays the safety poster and recent application records."),
|
||||
("Personal protective equipment provided to workers must be", ["shared","maintained and available as required by the label","optional","only for handlers"],1,
|
||||
"Employers must provide and maintain the PPE the label requires for workers."),
|
||||
("The WPS requires employers to keep records of", ["worker names only","pesticide applications and training","weather","sales"],1,
|
||||
"Application and training records must be kept."),
|
||||
("Who must receive WPS pesticide safety training?", ["only the owner","workers and handlers on agricultural establishments","only office staff","no one"],1,
|
||||
"All workers and handlers covered by WPS must be trained."),
|
||||
# — WA-specific —
|
||||
("Washington commercial applicators must renew their license every", ["year","5 years","10 years","never"],1,
|
||||
"WA commercial applicator licenses renew every 5 years with continuing education."),
|
||||
("The WA continuing education requirement for commercial applicators is", ["40 CEUs per 5-year period","10 CEUs per year","no CE","100 CEUs per year"],0,
|
||||
"WA requires 40 continuing education units per 5-year renewal period."),
|
||||
("The WA pesticide applicator exam passing score is", ["50%","70%","90%","100%"],1,
|
||||
"A score of 70% is required to pass."),
|
||||
("WA pesticide applicator records of restricted-use pesticide applications must be kept", ["6 months","at least 2 years","1 year","forever"],1,
|
||||
"WA requires RUP application records be kept at least 2 years."),
|
||||
("The WA 'Private Applicator' license is for", ["structural pest control","applying pesticides on your own or your employer's farm to produce agricultural commodities","public health","aquatic weed control"],1,
|
||||
"Private applicators apply restricted-use pesticides on their own agricultural operation."),
|
||||
]
|
||||
|
||||
STRUCTURAL = [
|
||||
("The most common wood-destroying insect in Washington structures is the", ["carpenter ant","termite","powderpost beetle","silverfish"],0,
|
||||
"Carpenter ants are the #1 wood-destroying pest in WA structures."),
|
||||
("A key difference between carpenter ants and termites is that carpenter ants have", ["straight antennae and equal wings","elbowed antennae and a narrow (pinched) waist","no antennae","four pairs of legs"],1,
|
||||
"Ants have elbowed antennae and a narrow waist; termites have straight antennae and a broad waist."),
|
||||
("Subterranean termites enter structures through", ["open windows","mud tubes from the soil to wood","the roof","crawlspace vents only"],1,
|
||||
"Subterranean termites build mud tubes to travel from soil to wood."),
|
||||
("Dampwood termites require", ["dry wood","moist wood","living plants","paper only"],1,
|
||||
"Dampwood termites infest wood with high moisture content."),
|
||||
("A 'swarm' of winged termites indoors is a sign of", ["a healthy house","an active or nearby termite colony","good ventilation","nothing"],1,
|
||||
"Indoor termite swarms indicate an infestation or a colony close by."),
|
||||
("Wood damaged by subterranean termites characteristically shows", ["smooth, clean galleries with soil/mud","round exit holes and fine powder","large open tunnels","no damage"],0,
|
||||
"Subterranean termite galleries are clean and often lined with soil."),
|
||||
("Powderpost beetles are recognized by", ["mud tubes","tiny round exit holes and fine, flour-like frass","large nests","webs"],1,
|
||||
"Powderpost beetles leave small round exit holes and powdery frass."),
|
||||
("The first step in a wood-destroying organism (WDO) inspection is", ["applying chemical","a thorough visual inspection of the structure, looking for signs and conducive conditions","drilling holes","fumigating"],1,
|
||||
"Inspection always comes before treatment."),
|
||||
("A 'conducive condition' for termites is", ["good drainage","wood-to-soil contact and excess moisture","full sun","air conditioning"],1,
|
||||
"Wood-to-soil contact and moisture create conditions favorable to termites."),
|
||||
("The German cockroach is recognized by", ["its large size","two dark longitudinal stripes behind the head","a single red stripe","blue wings"],1,
|
||||
"German cockroaches have two dark parallel stripes on the pronotum."),
|
||||
("Cockroach droppings that resemble coffee grounds or black pepper are typical of", ["the Oriental cockroach","the American cockroach","the German cockroach","the smoky-brown cockroach"],2,
|
||||
"German cockroach droppings look like coffee grounds or pepper."),
|
||||
("The American cockroach is", ["small and tan","the largest common structural roach, reddish-brown with a yellow figure-8 behind the head","always winged and flying","bright green"],1,
|
||||
"The American cockroach is large and reddish-brown with a yellowish band."),
|
||||
("An 'ootheca' is", ["a termite tube","a cockroach egg case","a spider web","a beetle larva"],1,
|
||||
"An ootheca is the egg case produced by cockroaches."),
|
||||
("The best way to control German cockroaches is", ["a single fogger","integrated control: sanitation + baits + targeted crack-and-crevice treatment","only sticky traps","ignoring them"],1,
|
||||
"German roach control requires sanitation, baits, and targeted treatments."),
|
||||
("Bed bugs hide primarily", ["in kitchens","in cracks, seams of mattresses, and near sleeping areas","on the ceiling","in the garage"],1,
|
||||
"Bed bugs hide in mattress seams, headboards, and cracks near the bed."),
|
||||
("A sign of a bed bug infestation is", ["only bites","cast skins, fecal spots, and live bugs at mattress seams","a foul odor only","no visible signs"],1,
|
||||
"Confirm bed bugs with cast skins, fecal spots, and live insects, not just bites."),
|
||||
("The house mouse is distinguished from the Norway rat by", ["its large size","its small size, large ears, and pointed muzzle","its short tail","its fur color only"],1,
|
||||
"The house mouse is small with large ears and a pointed muzzle."),
|
||||
("The Norway rat is characterized by", ["a small body and large ears","a heavy body, blunt muzzle, and a tail shorter than head+body","a furry tail","no tail"],1,
|
||||
"Norway rats are heavy-bodied with blunt muzzles and a shorter tail."),
|
||||
("Rodent bait should be placed", ["in the open on the floor","in tamper-resistant bait stations along runways and near activity","where children can reach","on counters"],1,
|
||||
"Place rodent baits in tamper-resistant stations along active runways."),
|
||||
("The hobo spider is", ["medically dangerous","a common WA house spider whose bite is not necrotic (disproven)","a webless spider","an aggressive hunter that chases people"],1,
|
||||
"The hobo spider is common in WA; its bite is not necrotic."),
|
||||
("A 'wood-infesting' insect NOT covered by a basic WDO inspection is the", ["subterranean termite","carpenter ant","carpet beetle","powderpost beetle"],2,
|
||||
"Carpet beetles are fabric pests, not wood-destroying organisms."),
|
||||
("Before treating for WDOs, the applicator should", ["spray everywhere","identify the specific organism and correct conducive conditions","use the strongest chemical","drill randomly"],1,
|
||||
"Correct identification and correcting conducive conditions are essential first."),
|
||||
("Fumigation is used for", ["routine ant control","whole-structure treatment of drywood termites or severe infestations","cockroach baits","rat control"],1,
|
||||
"Fumigation treats the entire structure, used for drywood termites and severe cases."),
|
||||
("Termite baiting systems work by", ["repelling termites","placing a slow-acting toxicant that foraging termites carry back to the colony","killing on contact only","drying out the wood"],1,
|
||||
"Baits are carried back to the colony, eventually eliminating it."),
|
||||
("The most important moisture-related recommendation in a WDO report is", ["increase watering","repair leaks and improve drainage to reduce wood moisture","add a pond","ignore moisture"],1,
|
||||
"Reducing moisture is the primary non-chemical WDO recommendation."),
|
||||
]
|
||||
|
||||
ORNAMENTAL = [
|
||||
("'Ornamental & Turf' applicators treat pests on", ["only food crops","landscape plants, lawns, and turf","only trees","only indoor plants"],1,
|
||||
"This category covers landscape ornamentals and turf."),
|
||||
("The correct way to apply a lawn herbicide is to", ["spot-treat only the weeds or broadcast at the labeled rate","drench the whole lawn","apply in the heat of the day","apply before reading the label"],0,
|
||||
"Apply at the labeled rate, targeting weeds or broadcasting correctly."),
|
||||
("When treating ornamental plants, you should first", ["identify the pest and confirm the product is labeled for that plant","spray everything","use the highest rate","mix with a hose-end sprayer only"],0,
|
||||
"Identify the pest and verify the pesticide is labeled for that specific plant."),
|
||||
("A common turf pest in Washington is the", ["crane fly (leatherjacket larva)","cockroach","bed bug","flea"],0,
|
||||
"European crane fly larvae (leatherjackets) damage PNW lawns."),
|
||||
("Moss in PNW lawns is best managed by", ["only chemical sprays","improving drainage, reducing shade, and correcting soil pH, with moss control products if needed","more fertilizer","mowing shorter"],1,
|
||||
"Moss thrives in shade, poor drainage, and acid soil — fix conditions first."),
|
||||
("When applying an insecticide to a flowering ornamental, you should", ["apply at midday","avoid application when bees are foraging, and follow pollinator-protection language","apply in rain","use a fogger"],1,
|
||||
"Protect pollinators by avoiding treatment during bloom/foraging."),
|
||||
("Phytotoxicity is", ["plant damage caused by a chemical","insect damage","fungal disease","a nutrient deficiency"],0,
|
||||
"Phytotoxicity is injury to plants caused by a pesticide or other chemical."),
|
||||
("Before applying a pesticide to a large landscape, the applicator should", ["notify neighbors if required and post as needed","do nothing","spray at night only","skip calibration"],0,
|
||||
"Notification and posting requirements protect people near treated areas."),
|
||||
("A systemic insecticide is", ["applied to the soil or plant and moves through the plant's tissues","only a contact spray","a bait","a fumigant"],0,
|
||||
"Systemics are absorbed and translocated within the plant."),
|
||||
("The best time to apply a pre-emergent herbicide is", ["after weeds emerge","before weed seeds germinate","after flowering","in winter only"],1,
|
||||
"Pre-emergents prevent weed seeds from germinating; apply before emergence."),
|
||||
("A post-emergent herbicide targets", ["germinating seeds","weeds that have already emerged","roots only","soil microbes"],1,
|
||||
"Post-emergents control weeds that have already sprouted."),
|
||||
("Overseeding and proper fertilization in turf is an example of", ["chemical control","cultural control","mechanical control","no control"],1,
|
||||
"Healthy turf (cultural control) outcompetes weeds and pests."),
|
||||
("When treating for a shrub pest, you should apply", ["only to the affected plant at the labeled rate","to the entire yard","without reading the label","with a fire hose"],0,
|
||||
"Target the affected plant at the correct labeled rate."),
|
||||
("The first step in diagnosing a turf problem is", ["spraying fungicide","identifying whether the cause is insect, disease, cultural, or environmental","applying fertilizer","aeration"],1,
|
||||
"Correctly diagnosing the cause avoids unnecessary pesticide use."),
|
||||
("Herbicide drift onto a neighbor's desirable plants can cause", ["no harm","injury or death to those plants and liability for the applicator","faster growth","better color"],1,
|
||||
"Drift onto non-target plants damages them and can create legal liability."),
|
||||
]
|
||||
|
||||
AGRICULTURAL = [
|
||||
("A 'Private Applicator' may apply restricted-use pesticides on", ["any property","their own or employer's farm to produce agricultural commodities","public parks","schools"],1,
|
||||
"Private applicators use RUPs on their own agricultural operation only."),
|
||||
("The purpose of an agricultural pesticide application record is to", ["satisfy legal requirements and track what/where/when was applied","fill time","impress neighbors","none"],0,
|
||||
"Records are legally required and document application details."),
|
||||
("When spraying a field, calibration should be done", ["once and never again","before each new crop or when conditions/nozzles change","only if caught","every 10 years"],1,
|
||||
"Recalibrate whenever crop, speed, pressure, or nozzles change."),
|
||||
("Spraying near a sensitive crop or waterway requires", ["no special care","a buffer zone and drift management","more pesticide","higher pressure"],1,
|
||||
"Use buffers and drift control near sensitive crops and water."),
|
||||
("The pre-harvest interval (PHI) is", ["the time between the last application and harvest","the time between applications","the storage time","the mixing time"],0,
|
||||
"PHI is the minimum time between the last application and harvest."),
|
||||
("Which is a cultural control in agriculture?", ["crop rotation","a fungicide spray","a growth regulator","a fumigant"],0,
|
||||
"Crop rotation disrupts pest life cycles — a cultural control."),
|
||||
("A beneficial insect (e.g., lady beetle) should be", ["preserved by using selective pesticides and scouting","always killed","ignored","sprayed with broad-spectrum products"],0,
|
||||
"Preserve beneficials by scouting and using selective products."),
|
||||
("Applying a pesticide when wind exceeds the label limit can cause", ["better coverage","off-target drift and violation","faster drying","deeper penetration"],1,
|
||||
"Exceeding wind limits causes drift and is a label violation."),
|
||||
("The best time to spray for many pests is", ["midday heat","early morning or evening when wind is low and temperatures are moderate","during rain","at high wind"],1,
|
||||
"Early morning/evening reduces drift and improves efficacy."),
|
||||
("A 'nozzle' that produces a fine mist is more likely to", ["drift","penetrate deep","be coarse","clog less"],0,
|
||||
"Fine droplets drift more easily."),
|
||||
("Integrated Pest Management on a farm relies most on", ["calendar spraying","scouting, thresholds, and multiple tactics","only chemicals","guessing"],1,
|
||||
"IPM uses scouting and thresholds to guide targeted, multi-tactic control."),
|
||||
("A pesticide resistance problem is reduced by", ["using the same product every time","rotating pesticides with different modes of action","increasing the dose","mixing incompatible products"],1,
|
||||
"Rotating modes of action slows resistance development."),
|
||||
("Rinsing spray equipment in a field is a problem because it", ["is efficient","can create a point source of contamination","saves water","is required"],1,
|
||||
"Rinsing in the field concentrates pesticide in one spot, risking contamination."),
|
||||
]
|
||||
|
||||
WAEXAM = []
|
||||
for cat, items in [("Core", CORE), ("Structural", STRUCTURAL), ("Ornamental & Turf", ORNAMENTAL), ("Agricultural", AGRICULTURAL)]:
|
||||
for q, a, c, x in items:
|
||||
WAEXAM.append({"cat": cat, "q": q, "a": a, "c": c, "x": x})
|
||||
|
||||
import json
|
||||
print(f"total questions: {len(WAEXAM)}")
|
||||
print(f" Core: {len(CORE)}")
|
||||
print(f" Structural: {len(STRUCTURAL)}")
|
||||
print(f" Ornamental: {len(ORNAMENTAL)}")
|
||||
print(f" Agricultural: {len(AGRICULTURAL)}")
|
||||
Reference in New Issue
Block a user