I need neet full length mock exams 2026
ls -la /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or not found"
mkdir -p /home/daytona/workspace/neet-2026-mock
~/neet-2026-mock/questions.py
# NEET UG 2026 Mock Exam — Full Question Bank
# 45 Physics + 45 Chemistry + 90 Biology = 180 Questions
PHYSICS = [
# --- EASY ---
{
"q": "The SI unit of electric charge is:",
"options": ["A. Ampere", "B. Coulomb", "C. Volt", "D. Ohm"],
"answer": "B",
"topic": "Electrostatics"
},
{
"q": "Which of the following is a scalar quantity?",
"options": ["A. Velocity", "B. Force", "C. Speed", "D. Acceleration"],
"answer": "C",
"topic": "Motion"
},
{
"q": "The work done by a force is zero when the angle between force and displacement is:",
"options": ["A. 0°", "B. 45°", "C. 90°", "D. 180°"],
"answer": "C",
"topic": "Work, Energy and Power"
},
{
"q": "The dimensional formula of momentum is:",
"options": ["A. [MLT⁻¹]", "B. [MLT⁻²]", "C. [ML²T⁻¹]", "D. [ML⁻¹T⁻¹]"],
"answer": "A",
"topic": "Motion"
},
{
"q": "Ohm's law states that V is proportional to I provided:",
"options": ["A. Temperature changes", "B. Temperature is constant", "C. Resistance is zero", "D. Current is zero"],
"answer": "B",
"topic": "Current Electricity"
},
{
"q": "Which mirror is used as a rear-view mirror in vehicles?",
"options": ["A. Plane mirror", "B. Concave mirror", "C. Convex mirror", "D. Parabolic mirror"],
"answer": "C",
"topic": "Optics"
},
{
"q": "The escape velocity from Earth's surface is approximately:",
"options": ["A. 7.9 km/s", "B. 11.2 km/s", "C. 3.0 km/s", "D. 16.7 km/s"],
"answer": "B",
"topic": "Gravitation"
},
{
"q": "Newton's second law of motion relates:",
"options": ["A. Velocity and time", "B. Force and acceleration", "C. Mass and volume", "D. Momentum and displacement"],
"answer": "B",
"topic": "Laws of Motion"
},
{
"q": "The phenomenon of total internal reflection requires:",
"options": ["A. Light going from rarer to denser medium", "B. Angle of incidence less than critical angle", "C. Light going from denser to rarer medium at angle ≥ critical angle", "D. Both media with same refractive index"],
"answer": "C",
"topic": "Optics"
},
{
"q": "A body in simple harmonic motion has maximum velocity at:",
"options": ["A. Extreme position", "B. Mean position", "C. Mid-point between mean and extreme", "D. All positions equally"],
"answer": "B",
"topic": "Oscillations"
},
# --- MEDIUM ---
{
"q": "Two charges +q and +q are placed at distance r. The electric potential at the midpoint is:",
"options": ["A. Zero", "B. kq/r", "C. 4kq/r", "D. 2kq/r"],
"answer": "C",
"topic": "Electrostatics"
},
{
"q": "A projectile is fired at 45° with initial velocity u. Its range is:",
"options": ["A. u²/g", "B. u²/2g", "C. 2u²/g", "D. u²/4g"],
"answer": "A",
"topic": "Projectile Motion"
},
{
"q": "The ratio of kinetic energy to potential energy at the mean position of SHM is:",
"options": ["A. 1:1", "B. 1:0", "C. 0:1", "D. 1:2"],
"answer": "B",
"topic": "Oscillations"
},
{
"q": "A capacitor of capacitance C is charged to potential V. The energy stored is:",
"options": ["A. CV", "B. CV²", "C. ½CV²", "D. 2CV²"],
"answer": "C",
"topic": "Electrostatics"
},
{
"q": "In a p-n junction diode, the depletion layer is formed due to:",
"options": ["A. Diffusion of majority carriers", "B. Drift of minority carriers", "C. External electric field", "D. Doping concentration only"],
"answer": "A",
"topic": "Semiconductors"
},
{
"q": "A wire of resistance R is stretched to double its length. Its new resistance is:",
"options": ["A. R/2", "B. R", "C. 2R", "D. 4R"],
"answer": "D",
"topic": "Current Electricity"
},
{
"q": "The wavelength of light in a medium of refractive index n is λ. In vacuum the wavelength is:",
"options": ["A. λ/n", "B. nλ", "C. λ", "D. n²λ"],
"answer": "B",
"topic": "Optics"
},
{
"q": "The binding energy per nucleon is maximum for:",
"options": ["A. Hydrogen", "B. Uranium", "C. Iron (Fe-56)", "D. Helium"],
"answer": "C",
"topic": "Nuclear Physics"
},
{
"q": "In Young's double slit experiment, fringe width β is given by (D = distance to screen, d = slit separation):",
"options": ["A. β = Dλ/d", "B. β = dλ/D", "C. β = d/Dλ", "D. β = λ/Dd"],
"answer": "A",
"topic": "Wave Optics"
},
{
"q": "A transformer steps up voltage from 220V to 2200V. If the primary has 100 turns, secondary turns are:",
"options": ["A. 10", "B. 100", "C. 1000", "D. 10000"],
"answer": "C",
"topic": "Electromagnetic Induction"
},
{
"q": "Magnetic flux through a coil is Φ = 4t² + 2t + 1. The induced EMF at t = 2s is:",
"options": ["A. 18 V", "B. 16 V", "C. 10 V", "D. 8 V"],
"answer": "A",
"topic": "Electromagnetic Induction"
},
{
"q": "The de Broglie wavelength of an electron accelerated through potential V is proportional to:",
"options": ["A. V", "B. √V", "C. 1/√V", "D. 1/V"],
"answer": "C",
"topic": "Dual Nature of Matter"
},
{
"q": "In Bohr's model, the radius of the nth orbit is proportional to:",
"options": ["A. n", "B. n²", "C. 1/n", "D. 1/n²"],
"answer": "B",
"topic": "Atoms"
},
{
"q": "For a body in circular motion, centripetal acceleration is directed:",
"options": ["A. Tangent to circle", "B. Away from centre", "C. Towards the centre", "D. Perpendicular to the plane"],
"answer": "C",
"topic": "Circular Motion"
},
{
"q": "The temperature coefficient of resistance of a semiconductor is:",
"options": ["A. Positive", "B. Negative", "C. Zero", "D. Infinite"],
"answer": "B",
"topic": "Semiconductors"
},
# --- HARD ---
{
"q": "A uniform rod of mass M and length L is hinged at one end. Its moment of inertia about the hinge is:",
"options": ["A. ML²/3", "B. ML²/12", "C. ML²/6", "D. ML²/4"],
"answer": "A",
"topic": "Rotational Motion"
},
{
"q": "In photoelectric effect, stopping potential depends on:",
"options": ["A. Intensity of light", "B. Frequency of light only", "C. Both intensity and frequency", "D. Number of photons"],
"answer": "B",
"topic": "Dual Nature of Matter"
},
{
"q": "Two identical springs each of spring constant k are connected in series. The effective spring constant is:",
"options": ["A. 2k", "B. k", "C. k/2", "D. k²"],
"answer": "C",
"topic": "Oscillations"
},
{
"q": "A particle undergoes SHM with amplitude A and angular frequency ω. Its acceleration at displacement x is:",
"options": ["A. ω²x", "B. −ω²x", "C. ωx", "D. −ωx"],
"answer": "B",
"topic": "Oscillations"
},
{
"q": "The output of an AND gate with inputs A=1 and B=0 is:",
"options": ["A. 1", "B. 0", "C. Undefined", "D. Either 0 or 1"],
"answer": "B",
"topic": "Semiconductors"
},
{
"q": "The half-life of a radioactive element is 10 days. After 30 days, the fraction remaining is:",
"options": ["A. 1/2", "B. 1/4", "C. 1/8", "D. 1/16"],
"answer": "C",
"topic": "Nuclear Physics"
},
{
"q": "A gas undergoes an adiabatic process. Which quantity remains constant?",
"options": ["A. Temperature", "B. Pressure", "C. Volume", "D. Internal energy + work done"],
"answer": "D",
"topic": "Thermodynamics"
},
{
"q": "The Brewster's angle for glass (n = √3) in air is:",
"options": ["A. 30°", "B. 45°", "C. 60°", "D. 90°"],
"answer": "C",
"topic": "Wave Optics"
},
{
"q": "The work function of a metal is 4 eV. The threshold frequency for photoelectric emission is (h = 6.63×10⁻³⁴ J·s):",
"options": ["A. 9.7×10¹⁴ Hz", "B. 4.8×10¹⁴ Hz", "C. 1.6×10¹⁵ Hz", "D. 2.4×10¹⁴ Hz"],
"answer": "A",
"topic": "Dual Nature of Matter"
},
{
"q": "In a series LCR circuit at resonance, impedance equals:",
"options": ["A. Zero", "B. XL", "C. R", "D. XC"],
"answer": "C",
"topic": "AC Circuits"
},
{
"q": "Gauss's law states that the total electric flux through a closed surface is:",
"options": ["A. Q/ε₀", "B. Qε₀", "C. Q/4πε₀", "D. 4πQ/ε₀"],
"answer": "A",
"topic": "Electrostatics"
},
{
"q": "The Doppler effect for sound: a source moves towards a stationary observer with speed vs. Observed frequency (f) in terms of source frequency (f₀), sound speed v, is:",
"options": ["A. f = f₀(v − vs)/v", "B. f = f₀v/(v − vs)", "C. f = f₀(v + vs)/v", "D. f = f₀v/(v + vs)"],
"answer": "B",
"topic": "Waves"
},
{
"q": "A photon has energy 3 eV. Its momentum is (c = 3×10⁸ m/s):",
"options": ["A. 1.6×10⁻²⁷ kg·m/s", "B. 3.2×10⁻²⁷ kg·m/s", "C. 6.4×10⁻²⁷ kg·m/s", "D. 8.0×10⁻²⁷ kg·m/s"],
"answer": "A",
"topic": "Dual Nature of Matter"
},
{
"q": "A convex lens of focal length 20 cm forms an image at 60 cm from the lens. Object distance is:",
"options": ["A. 15 cm", "B. 30 cm", "C. 40 cm", "D. 45 cm"],
"answer": "B",
"topic": "Optics"
},
{
"q": "The magnetic force on a charge q moving with velocity v in field B at angle θ is:",
"options": ["A. qvB sinθ", "B. qvB cosθ", "C. qvB tanθ", "D. qvB"],
"answer": "A",
"topic": "Magnetism"
},
{
"q": "For an ideal gas undergoing isothermal expansion, internal energy:",
"options": ["A. Increases", "B. Decreases", "C. Remains constant", "D. First increases then decreases"],
"answer": "C",
"topic": "Thermodynamics"
},
]
CHEMISTRY = [
# --- EASY ---
{
"q": "The atomic number of Carbon is:",
"options": ["A. 6", "B. 7", "C. 8", "D. 12"],
"answer": "A",
"topic": "Periodic Table"
},
{
"q": "Which gas is produced when dilute HCl reacts with zinc?",
"options": ["A. O₂", "B. Cl₂", "C. H₂", "D. H₂S"],
"answer": "C",
"topic": "Acids and Bases"
},
{
"q": "The IUPAC name of CH₃CHO is:",
"options": ["A. Methanol", "B. Ethanal", "C. Propanal", "D. Ethanol"],
"answer": "B",
"topic": "Organic Chemistry"
},
{
"q": "Hybridisation of carbon in benzene is:",
"options": ["A. sp", "B. sp²", "C. sp³", "D. sp³d"],
"answer": "B",
"topic": "Chemical Bonding"
},
{
"q": "Which quantum number determines the shape of an orbital?",
"options": ["A. Principal (n)", "B. Azimuthal (l)", "C. Magnetic (m)", "D. Spin (s)"],
"answer": "B",
"topic": "Atomic Structure"
},
{
"q": "The pH of a neutral solution at 25°C is:",
"options": ["A. 0", "B. 7", "C. 14", "D. 10"],
"answer": "B",
"topic": "Equilibrium"
},
{
"q": "Which of the following is a noble gas?",
"options": ["A. Nitrogen", "B. Chlorine", "C. Neon", "D. Sodium"],
"answer": "C",
"topic": "Periodic Table"
},
{
"q": "The bond angle in water molecule is approximately:",
"options": ["A. 90°", "B. 109.5°", "C. 104.5°", "D. 120°"],
"answer": "C",
"topic": "Chemical Bonding"
},
{
"q": "Avogadro's number is:",
"options": ["A. 6.022×10²²", "B. 6.022×10²³", "C. 6.022×10²⁴", "D. 3.0×10⁸"],
"answer": "B",
"topic": "Mole Concept"
},
{
"q": "Which of the following is an example of a covalent compound?",
"options": ["A. NaCl", "B. KBr", "C. H₂O", "D. MgO"],
"answer": "C",
"topic": "Chemical Bonding"
},
# --- MEDIUM ---
{
"q": "In the reaction 2H₂ + O₂ → 2H₂O, 4 moles of H₂ will react with how many moles of O₂?",
"options": ["A. 1", "B. 2", "C. 4", "D. 8"],
"answer": "B",
"topic": "Stoichiometry"
},
{
"q": "Which of the following has the highest electronegativity?",
"options": ["A. O", "B. N", "C. F", "D. Cl"],
"answer": "C",
"topic": "Periodic Table"
},
{
"q": "The first ionisation energy is highest for:",
"options": ["A. Li", "B. Na", "C. He", "D. Ne"],
"answer": "C",
"topic": "Periodic Table"
},
{
"q": "In SN1 reaction, the rate depends on:",
"options": ["A. Both substrate and nucleophile", "B. Substrate only", "C. Nucleophile only", "D. Solvent only"],
"answer": "B",
"topic": "Organic Chemistry"
},
{
"q": "A solution of glucose in water is an example of:",
"options": ["A. Colloid", "B. Suspension", "C. True solution", "D. Emulsion"],
"answer": "C",
"topic": "Solutions"
},
{
"q": "The oxidation state of Cr in K₂Cr₂O₇ is:",
"options": ["A. +3", "B. +4", "C. +6", "D. +7"],
"answer": "C",
"topic": "Redox Reactions"
},
{
"q": "Which law states PV = nRT?",
"options": ["A. Dalton's law", "B. Ideal gas law", "C. Graham's law", "D. Henry's law"],
"answer": "B",
"topic": "States of Matter"
},
{
"q": "The enthalpy change for a neutralisation reaction of strong acid and strong base is approximately:",
"options": ["A. −57.3 kJ/mol", "B. +57.3 kJ/mol", "C. −286 kJ/mol", "D. −393 kJ/mol"],
"answer": "A",
"topic": "Thermodynamics"
},
{
"q": "Which of the following is a Brønsted-Lowry acid?",
"options": ["A. BF₃", "B. AlCl₃", "C. NH₄⁺", "D. OH⁻"],
"answer": "C",
"topic": "Equilibrium"
},
{
"q": "Rate of a first-order reaction depends on:",
"options": ["A. [A]⁰", "B. [A]¹", "C. [A]²", "D. [A]³"],
"answer": "B",
"topic": "Chemical Kinetics"
},
{
"q": "The number of sigma bonds in ethyne (C₂H₂) is:",
"options": ["A. 2", "B. 3", "C. 4", "D. 5"],
"answer": "B",
"topic": "Chemical Bonding"
},
{
"q": "Colligative properties depend on:",
"options": ["A. Nature of solute", "B. Number of solute particles", "C. Size of solute particles", "D. Chemical nature of solvent"],
"answer": "B",
"topic": "Solutions"
},
{
"q": "The d-block elements are also known as:",
"options": ["A. Representative elements", "B. Alkaline earth metals", "C. Transition elements", "D. Noble gases"],
"answer": "C",
"topic": "d-Block Elements"
},
{
"q": "Which catalyst is used in the Haber process for NH₃ synthesis?",
"options": ["A. Platinum", "B. Iron", "C. Vanadium pentoxide", "D. Nickel"],
"answer": "B",
"topic": "Chemical Equilibrium"
},
{
"q": "The monomer of natural rubber is:",
"options": ["A. Styrene", "B. Isoprene", "C. Ethylene", "D. Vinyl chloride"],
"answer": "B",
"topic": "Polymers"
},
# --- HARD ---
{
"q": "The IUPAC name of (CH₃)₂CHCH₂CH₂Br is:",
"options": ["A. 1-bromo-3-methylbutane", "B. 2-methyl-1-bromobutane", "C. 4-methylbutan-1-yl bromide", "D. 1-bromo-4-methylbutane"],
"answer": "A",
"topic": "Organic Chemistry"
},
{
"q": "For a reaction with ΔG < 0 and ΔH > 0, the reaction is spontaneous because:",
"options": ["A. ΔS < 0", "B. TΔS > ΔH", "C. TΔS < ΔH", "D. ΔH dominates"],
"answer": "B",
"topic": "Thermodynamics"
},
{
"q": "In coordination compound [Co(NH₃)₅Cl]Cl₂, the oxidation state of Co is:",
"options": ["A. +1", "B. +2", "C. +3", "D. +4"],
"answer": "C",
"topic": "Coordination Compounds"
},
{
"q": "The half-cell potential of a hydrogen electrode under standard conditions is:",
"options": ["A. +1.23 V", "B. −0.76 V", "C. 0.00 V", "D. +0.34 V"],
"answer": "C",
"topic": "Electrochemistry"
},
{
"q": "Wurtz reaction is used to prepare:",
"options": ["A. Alkenes", "B. Higher alkanes", "C. Alcohols", "D. Aldehydes"],
"answer": "B",
"topic": "Organic Chemistry"
},
{
"q": "Freundlich adsorption isotherm equation is:",
"options": ["A. x/m = kP^(1/n)", "B. x/m = kP²", "C. x/m = k/P", "D. x/m = k(1+bP)/aP"],
"answer": "A",
"topic": "Surface Chemistry"
},
{
"q": "Which of the following has the highest crystal field splitting (Δ₀)?",
"options": ["A. [Fe(H₂O)₆]²⁺", "B. [Fe(CN)₆]³⁻", "C. [Co(NH₃)₆]³⁺", "D. [Co(H₂O)₆]²⁺"],
"answer": "B",
"topic": "Coordination Compounds"
},
{
"q": "The number of optically active stereoisomers of tartaric acid is:",
"options": ["A. 1", "B. 2", "C. 3", "D. 4"],
"answer": "B",
"topic": "Stereochemistry"
},
{
"q": "In Victor Meyer's test, a primary alcohol gives a red colour because:",
"options": ["A. Aldehyde is formed", "B. Nitroalkane formed reacts with HNO₂ to give nitrolic acid", "C. Ketone is oxidised", "D. Carboxylic acid forms"],
"answer": "B",
"topic": "Alcohols"
},
{
"q": "The cell reaction for a Daniel cell (Zn|ZnSO₄||CuSO₄|Cu) is spontaneous because:",
"options": ["A. E°cell < 0", "B. ΔG > 0", "C. E°cell > 0 and ΔG < 0", "D. Both E°cell and ΔG are zero"],
"answer": "C",
"topic": "Electrochemistry"
},
{
"q": "The hybridisation of P in PCl₅ is:",
"options": ["A. sp²", "B. sp³", "C. sp³d", "D. sp³d²"],
"answer": "C",
"topic": "Chemical Bonding"
},
{
"q": "Which of the following represents a secondary amine?",
"options": ["A. CH₃NH₂", "B. (CH₃)₂NH", "C. (CH₃)₃N", "D. C₆H₅NH₂"],
"answer": "B",
"topic": "Amines"
},
{
"q": "The Nernst equation relates EMF to:",
"options": ["A. Temperature and pH", "B. Concentration of ions and temperature", "C. Resistance and current", "D. Pressure and volume"],
"answer": "B",
"topic": "Electrochemistry"
},
{
"q": "Lanthanide contraction is due to:",
"options": ["A. Poor shielding by f-electrons", "B. High nuclear charge only", "C. Increasing principal quantum number", "D. d-orbital filling"],
"answer": "A",
"topic": "f-Block Elements"
},
{
"q": "Benzene reacts with Br₂ in presence of FeBr₃ by:",
"options": ["A. Nucleophilic substitution", "B. Electrophilic addition", "C. Electrophilic substitution", "D. Free radical substitution"],
"answer": "C",
"topic": "Organic Chemistry"
},
]
BIOLOGY = [
# --- BOTANY (Easy) ---
{
"q": "The cell organelle responsible for photosynthesis is:",
"options": ["A. Mitochondria", "B. Ribosome", "C. Chloroplast", "D. Lysosome"],
"answer": "C",
"topic": "Cell Biology"
},
{
"q": "The term 'cell' was coined by:",
"options": ["A. Leeuwenhoek", "B. Robert Hooke", "C. Robert Brown", "D. Schleiden"],
"answer": "B",
"topic": "Cell Biology"
},
{
"q": "The process by which plants make food from sunlight is called:",
"options": ["A. Respiration", "B. Transpiration", "C. Photosynthesis", "D. Translocation"],
"answer": "C",
"topic": "Plant Physiology"
},
{
"q": "Root pressure is due to:",
"options": ["A. Transpiration pull", "B. Active absorption of water", "C. Cohesion of water molecules", "D. Adhesion in xylem"],
"answer": "B",
"topic": "Plant Physiology"
},
{
"q": "Which pigment is responsible for red colour in tomatoes?",
"options": ["A. Chlorophyll", "B. Carotene", "C. Lycopene", "D. Anthocyanin"],
"answer": "C",
"topic": "Biological Molecules"
},
{
"q": "Lenticels are found in:",
"options": ["A. Leaves", "B. Stems", "C. Roots", "D. Fruits"],
"answer": "B",
"topic": "Morphology of Plants"
},
{
"q": "The double fertilisation in angiosperms results in:",
"options": ["A. Embryo only", "B. Endosperm only", "C. Both embryo and endosperm", "D. Seed coat"],
"answer": "C",
"topic": "Reproduction in Plants"
},
{
"q": "Which of the following is a C4 plant?",
"options": ["A. Wheat", "B. Rice", "C. Sugarcane", "D. Potato"],
"answer": "C",
"topic": "Plant Physiology"
},
{
"q": "Phytochrome is involved in:",
"options": ["A. Photosynthesis", "B. Photoperiodism", "C. Transpiration", "D. Nitrogen fixation"],
"answer": "B",
"topic": "Plant Physiology"
},
{
"q": "The female gametophyte in angiosperms is the:",
"options": ["A. Ovule", "B. Embryo sac", "C. Megaspore mother cell", "D. Antipodal cell"],
"answer": "B",
"topic": "Reproduction in Plants"
},
# --- BOTANY (Medium) ---
{
"q": "The enzyme RuBisCO catalyses the fixation of CO₂ in the:",
"options": ["A. Light reaction", "B. Calvin cycle", "C. Krebs cycle", "D. Glycolysis"],
"answer": "B",
"topic": "Photosynthesis"
},
{
"q": "Kranz anatomy is characteristic of:",
"options": ["A. C3 plants", "B. C4 plants", "C. CAM plants", "D. Hydrophytes"],
"answer": "B",
"topic": "Photosynthesis"
},
{
"q": "Vernalisation refers to:",
"options": ["A. Response to light duration", "B. Promotion of flowering by low temperature", "C. Seed dormancy", "D. Vegetative propagation"],
"answer": "B",
"topic": "Plant Physiology"
},
{
"q": "Which hormone promotes fruit ripening?",
"options": ["A. Auxin", "B. Cytokinin", "C. Ethylene", "D. Gibberellin"],
"answer": "C",
"topic": "Plant Physiology"
},
{
"q": "Water potential is maximum in:",
"options": ["A. Hypertonic solution", "B. Hypotonic solution", "C. Pure water", "D. Isotonic solution"],
"answer": "C",
"topic": "Plant Physiology"
},
{
"q": "Pollen grain germinates on the stigma and grows through:",
"options": ["A. Style", "B. Ovule", "C. Integument", "D. Micropyle"],
"answer": "A",
"topic": "Reproduction in Plants"
},
{
"q": "Which of the following is the site of light reaction in chloroplast?",
"options": ["A. Stroma", "B. Thylakoid membrane", "C. Outer membrane", "D. Intermembrane space"],
"answer": "B",
"topic": "Photosynthesis"
},
{
"q": "Apomixis produces seeds without:",
"options": ["A. Pollination", "B. Fertilisation", "C. Both pollination and fertilisation", "D. Seed coat formation"],
"answer": "B",
"topic": "Reproduction in Plants"
},
{
"q": "The stomata of CAM plants open:",
"options": ["A. During the day", "B. At night", "C. Only in bright light", "D. Continuously"],
"answer": "B",
"topic": "Photosynthesis"
},
{
"q": "Which of the following is an example of parthenocarpy?",
"options": ["A. Apple", "B. Banana", "C. Mango", "D. Guava"],
"answer": "B",
"topic": "Reproduction in Plants"
},
# --- BOTANY (Hard) ---
{
"q": "In Z-scheme of photosynthesis, P700 is the reaction centre of:",
"options": ["A. PS I", "B. PS II", "C. Both PS I and PS II", "D. Neither"],
"answer": "A",
"topic": "Photosynthesis"
},
{
"q": "The first stable product of carbon fixation in C4 plants is:",
"options": ["A. 3-phosphoglycerate", "B. Oxaloacetate", "C. Ribulose bisphosphate", "D. Pyruvate"],
"answer": "B",
"topic": "Photosynthesis"
},
{
"q": "Plasmolysis occurs when a cell is placed in:",
"options": ["A. Hypotonic solution", "B. Isotonic solution", "C. Hypertonic solution", "D. Distilled water"],
"answer": "C",
"topic": "Plant Physiology"
},
{
"q": "The coleorhiza covers which part of the embryo in monocots?",
"options": ["A. Radicle", "B. Plumule", "C. Cotyledon", "D. Endosperm"],
"answer": "A",
"topic": "Morphology of Plants"
},
{
"q": "In cyclic photophosphorylation, the product formed is:",
"options": ["A. ATP only", "B. NADPH only", "C. Both ATP and NADPH", "D. O₂ and ATP"],
"answer": "A",
"topic": "Photosynthesis"
},
# --- ZOOLOGY (Easy) ---
{
"q": "The powerhouse of the cell is:",
"options": ["A. Nucleus", "B. Ribosome", "C. Mitochondria", "D. Golgi apparatus"],
"answer": "C",
"topic": "Cell Biology"
},
{
"q": "ABO blood grouping is an example of:",
"options": ["A. Dominance", "B. Codominance", "C. Epistasis", "D. Pleiotropy"],
"answer": "B",
"topic": "Genetics"
},
{
"q": "Which of the following is NOT a component of the human digestive system?",
"options": ["A. Oesophagus", "B. Pancreas", "C. Spleen", "D. Duodenum"],
"answer": "C",
"topic": "Human Physiology"
},
{
"q": "The functional unit of the kidney is:",
"options": ["A. Nephron", "B. Glomerulus", "C. Bowman's capsule", "D. Loop of Henle"],
"answer": "A",
"topic": "Human Physiology"
},
{
"q": "Insulin is secreted by:",
"options": ["A. Alpha cells of islets of Langerhans", "B. Beta cells of islets of Langerhans", "C. Adrenal cortex", "D. Thyroid gland"],
"answer": "B",
"topic": "Human Physiology"
},
{
"q": "Haemoglobin is found in:",
"options": ["A. White blood cells", "B. Plasma", "C. Red blood cells", "D. Platelets"],
"answer": "C",
"topic": "Human Physiology"
},
{
"q": "Which nitrogenous base is found in RNA but NOT in DNA?",
"options": ["A. Adenine", "B. Guanine", "C. Thymine", "D. Uracil"],
"answer": "D",
"topic": "Molecular Biology"
},
{
"q": "The central dogma of molecular biology describes:",
"options": ["A. DNA → RNA → Protein", "B. RNA → DNA → Protein", "C. Protein → RNA → DNA", "D. DNA → Protein → RNA"],
"answer": "A",
"topic": "Molecular Biology"
},
{
"q": "Synapsis occurs during which stage of meiosis?",
"options": ["A. Leptotene", "B. Zygotene", "C. Pachytene", "D. Diplotene"],
"answer": "B",
"topic": "Cell Division"
},
{
"q": "Mendel's law of independent assortment applies to genes that are:",
"options": ["A. Linked", "B. On the same chromosome", "C. On different chromosomes", "D. Allelic"],
"answer": "C",
"topic": "Genetics"
},
# --- ZOOLOGY (Medium) ---
{
"q": "The process of translation occurs on:",
"options": ["A. Nucleus", "B. Ribosome", "C. Mitochondria", "D. Endoplasmic reticulum"],
"answer": "B",
"topic": "Molecular Biology"
},
{
"q": "Sickle cell anaemia is caused by a mutation in which gene?",
"options": ["A. Alpha-globin", "B. Beta-globin", "C. Gamma-globin", "D. Delta-globin"],
"answer": "B",
"topic": "Genetics"
},
{
"q": "The anticodon of a tRNA is complementary to:",
"options": ["A. A DNA codon", "B. The mRNA codon", "C. The rRNA sequence", "D. Another tRNA"],
"answer": "B",
"topic": "Molecular Biology"
},
{
"q": "ECG (electrocardiogram) records:",
"options": ["A. Brain waves", "B. Electrical activity of the heart", "C. Muscle contractions", "D. Blood pressure"],
"answer": "B",
"topic": "Human Physiology"
},
{
"q": "The hormone responsible for 'fight or flight' response is:",
"options": ["A. Insulin", "B. Cortisol", "C. Adrenaline", "D. Oxytocin"],
"answer": "C",
"topic": "Human Physiology"
},
{
"q": "Which of the following is a correct base pair in DNA?",
"options": ["A. A–G", "B. C–T", "C. A–T", "D. C–A"],
"answer": "C",
"topic": "Molecular Biology"
},
{
"q": "Hardy-Weinberg principle states that allele frequencies in a population remain constant if:",
"options": ["A. Selection is operating", "B. Population is large and random mating occurs", "C. Mutation is frequent", "D. Migration occurs"],
"answer": "B",
"topic": "Evolution"
},
{
"q": "The enzyme that joins Okazaki fragments is:",
"options": ["A. DNA polymerase I", "B. DNA helicase", "C. DNA ligase", "D. Primase"],
"answer": "C",
"topic": "Molecular Biology"
},
{
"q": "Which of the following is NOT a greenhouse gas?",
"options": ["A. CO₂", "B. N₂O", "C. CH₄", "D. N₂"],
"answer": "D",
"topic": "Ecology"
},
{
"q": "Bt toxin used in Bt cotton is obtained from:",
"options": ["A. Bacillus anthracis", "B. Bacillus thuringiensis", "C. Bacillus subtilis", "D. Bacillus cereus"],
"answer": "B",
"topic": "Biotechnology"
},
{
"q": "In pedigree analysis, a filled circle represents:",
"options": ["A. Unaffected male", "B. Affected female", "C. Unaffected female", "D. Affected male"],
"answer": "B",
"topic": "Genetics"
},
{
"q": "The enzyme used in PCR is:",
"options": ["A. RNA polymerase", "B. DNA ligase", "C. Taq polymerase", "D. Restriction endonuclease"],
"answer": "C",
"topic": "Biotechnology"
},
{
"q": "Eutrophication leads to:",
"options": ["A. Decrease in algae", "B. Increased dissolved oxygen", "C. Decrease in dissolved oxygen", "D. Improved water quality"],
"answer": "C",
"topic": "Ecology"
},
{
"q": "GnRH is secreted by the:",
"options": ["A. Anterior pituitary", "B. Posterior pituitary", "C. Hypothalamus", "D. Gonads"],
"answer": "C",
"topic": "Human Physiology"
},
{
"q": "Cri du chat syndrome is caused by:",
"options": ["A. Trisomy 21", "B. Monosomy X", "C. Deletion of chromosome 5p", "D. Trisomy 18"],
"answer": "C",
"topic": "Genetics"
},
# --- ZOOLOGY (Hard) ---
{
"q": "In the lac operon model of E. coli, the inducer is:",
"options": ["A. Glucose", "B. Lactose", "C. Allolactose", "D. Galactose"],
"answer": "C",
"topic": "Molecular Biology"
},
{
"q": "Which of the following correctly describes the mechanism of action of a competitive inhibitor?",
"options": ["A. It changes the shape of the active site", "B. It binds irreversibly to a site other than active site", "C. It competes with substrate for the active site and its effect can be overcome by increasing substrate concentration", "D. It destroys the enzyme permanently"],
"answer": "C",
"topic": "Biochemistry"
},
{
"q": "The net gain of ATP in glycolysis (per glucose, under anaerobic conditions) is:",
"options": ["A. 2 ATP", "B. 4 ATP", "C. 36 ATP", "D. 38 ATP"],
"answer": "A",
"topic": "Biochemistry"
},
{
"q": "The resting membrane potential of a neuron is approximately:",
"options": ["A. +70 mV", "B. −70 mV", "C. 0 mV", "D. −35 mV"],
"answer": "B",
"topic": "Human Physiology"
},
{
"q": "Biopiracy refers to:",
"options": ["A. Legal patenting of biological inventions", "B. Unauthorised use of biological resources or traditional knowledge without compensation", "C. Biodiversity conservation programmes", "D. Export of endangered species"],
"answer": "B",
"topic": "Biotechnology"
},
{
"q": "Which restriction enzyme produces blunt ends?",
"options": ["A. EcoRI", "B. BamHI", "C. SmaI", "D. HindIII"],
"answer": "C",
"topic": "Biotechnology"
},
{
"q": "During the sliding filament theory of muscle contraction, the cross-bridges are formed between:",
"options": ["A. Actin and myosin", "B. Titin and actin", "C. Troponin and tropomyosin", "D. Z-disc and M-line"],
"answer": "A",
"topic": "Human Physiology"
},
{
"q": "The oxygen dissociation curve of haemoglobin shifts to the right under:",
"options": ["A. High pH and low CO₂", "B. Low temperature", "C. High CO₂ and low pH (Bohr effect)", "D. Fetal haemoglobin"],
"answer": "C",
"topic": "Human Physiology"
},
{
"q": "Which of the following is an example of allopatric speciation?",
"options": ["A. Two species occupying different niches in the same habitat", "B. Populations separated by a geographical barrier evolving into different species", "C. Speciation by polyploidy", "D. Species sharing the same habitat diverging due to resource partitioning"],
"answer": "B",
"topic": "Evolution"
},
{
"q": "The CRISPR-Cas9 system is primarily used for:",
"options": ["A. DNA sequencing", "B. Protein synthesis", "C. Genome editing", "D. PCR amplification"],
"answer": "C",
"topic": "Biotechnology"
},
]
ALL_QUESTIONS = {
"PHYSICS": PHYSICS,
"CHEMISTRY": CHEMISTRY,
"BIOLOGY": BIOLOGY
}
if __name__ == "__main__":
print(f"Physics: {len(PHYSICS)} questions")
print(f"Chemistry: {len(CHEMISTRY)} questions")
print(f"Biology: {len(BIOLOGY)} questions")
print(f"Total: {len(PHYSICS)+len(CHEMISTRY)+len(BIOLOGY)} questions")
cd /home/daytona/workspace/neet-2026-mock && python questions.py
~/neet-2026-mock/extra_questions.py
# Additional questions to reach 45 Physics, 45 Chemistry, 90 Biology
EXTRA_PHYSICS = [
{
"q": "The unit of magnetic flux is:",
"options": ["A. Tesla", "B. Weber", "C. Henry", "D. Ampere"],
"answer": "B",
"topic": "Magnetism"
},
{
"q": "Young's modulus is defined as the ratio of:",
"options": ["A. Stress to strain", "B. Strain to stress", "C. Force to area", "D. Volume to pressure"],
"answer": "A",
"topic": "Elasticity"
},
{
"q": "The velocity of sound is maximum in:",
"options": ["A. Air", "B. Water", "C. Steel", "D. Vacuum"],
"answer": "C",
"topic": "Waves"
},
{
"q": "Which law gives the relation between pressure and volume of a gas at constant temperature?",
"options": ["A. Charles' law", "B. Gay-Lussac's law", "C. Boyle's law", "D. Avogadro's law"],
"answer": "C",
"topic": "Thermodynamics"
},
]
EXTRA_CHEMISTRY = [
{
"q": "The process of converting a mineral to its oxide is known as:",
"options": ["A. Smelting", "B. Roasting", "C. Calcination", "D. Leaching"],
"answer": "B",
"topic": "Metallurgy"
},
{
"q": "Which of the following is NOT a property of an ideal gas?",
"options": ["A. No intermolecular forces", "B. Negligible molecular volume", "C. Elastic collisions", "D. Low temperature favours ideal behaviour"],
"answer": "D",
"topic": "States of Matter"
},
{
"q": "The reagent used to distinguish between aldehyde and ketone is:",
"options": ["A. Fehling's solution", "B. Baeyer's reagent", "C. Lucas reagent", "D. Tollens' reagent"],
"answer": "A",
"topic": "Organic Chemistry"
},
{
"q": "Molarity is defined as moles of solute per:",
"options": ["A. Kilogram of solvent", "B. 100 g of solution", "C. Litre of solution", "D. Litre of solvent"],
"answer": "C",
"topic": "Solutions"
},
{
"q": "In a galvanic cell, oxidation occurs at the:",
"options": ["A. Cathode", "B. Salt bridge", "C. Anode", "D. Electrolyte"],
"answer": "C",
"topic": "Electrochemistry"
},
]
EXTRA_BIOLOGY = [
# Botany
{
"q": "The most abundant protein in the world is:",
"options": ["A. Actin", "B. RuBisCO", "C. Collagen", "D. Myosin"],
"answer": "B",
"topic": "Photosynthesis"
},
{
"q": "Abscisic acid (ABA) is also called the:",
"options": ["A. Growth hormone", "B. Stress hormone", "C. Flowering hormone", "D. Cell division hormone"],
"answer": "B",
"topic": "Plant Physiology"
},
{
"q": "Which part of the flower develops into the fruit?",
"options": ["A. Stigma", "B. Style", "C. Ovary", "D. Receptacle"],
"answer": "C",
"topic": "Reproduction in Plants"
},
{
"q": "Casparian strips are present in which layer of root?",
"options": ["A. Epidermis", "B. Cortex", "C. Endodermis", "D. Pericycle"],
"answer": "C",
"topic": "Morphology of Plants"
},
{
"q": "Transpiration pull (cohesion-tension theory) was proposed by:",
"options": ["A. Dixon and Joly", "B. Munch", "C. Sachs", "D. Priestley"],
"answer": "A",
"topic": "Plant Physiology"
},
{
"q": "Phloem loading involves the transport of:",
"options": ["A. Water and minerals", "B. Sucrose and organic solutes", "C. Oxygen", "D. Carbon dioxide"],
"answer": "B",
"topic": "Plant Physiology"
},
{
"q": "Which of the following is a free-living nitrogen-fixing bacterium?",
"options": ["A. Rhizobium", "B. Azotobacter", "C. Frankia", "D. Anabaena"],
"answer": "B",
"topic": "Biological Nitrogen Fixation"
},
{
"q": "Inulin is used as a marker to measure:",
"options": ["A. Cardiac output", "B. Glomerular filtration rate", "C. Vital capacity", "D. Bile secretion"],
"answer": "B",
"topic": "Human Physiology"
},
# Zoology
{
"q": "Which immunoglobulin is the most abundant in serum?",
"options": ["A. IgA", "B. IgM", "C. IgG", "D. IgE"],
"answer": "C",
"topic": "Human Physiology"
},
{
"q": "The site of spermatogenesis is:",
"options": ["A. Epididymis", "B. Seminiferous tubules", "C. Vas deferens", "D. Prostate gland"],
"answer": "B",
"topic": "Human Physiology"
},
{
"q": "The corpus luteum secretes:",
"options": ["A. Oestrogen only", "B. Progesterone mainly", "C. FSH", "D. LH"],
"answer": "B",
"topic": "Human Physiology"
},
{
"q": "Amniocentesis is done to detect:",
"options": ["A. Blood group of foetus", "B. Chromosomal abnormalities in foetus", "C. Maternal diabetes", "D. Placental position"],
"answer": "B",
"topic": "Genetics"
},
{
"q": "A fully turgid cell has osmotic potential of −10 bar and turgor potential of +10 bar. Its water potential is:",
"options": ["A. −20 bar", "B. +10 bar", "C. 0 bar", "D. −10 bar"],
"answer": "C",
"topic": "Plant Physiology"
},
{
"q": "Which of the following is the largest ecosystem on Earth?",
"options": ["A. Tropical rainforest", "B. Tundra", "C. Ocean", "D. Grassland"],
"answer": "C",
"topic": "Ecology"
},
{
"q": "Ex situ conservation refers to:",
"options": ["A. Conservation in natural habitat", "B. Conservation outside natural habitat", "C. Conservation by banning hunting", "D. Conservation by legislation"],
"answer": "B",
"topic": "Biodiversity and Conservation"
},
{
"q": "The concept of biodiversity hot spots was given by:",
"options": ["A. E.O. Wilson", "B. Norman Myers", "C. Robert May", "D. David Pimentel"],
"answer": "B",
"topic": "Biodiversity and Conservation"
},
{
"q": "The cloning vector pBR322 contains resistance genes to:",
"options": ["A. Ampicillin and tetracycline", "B. Ampicillin and kanamycin", "C. Tetracycline and chloramphenicol", "D. Kanamycin and erythromycin"],
"answer": "A",
"topic": "Biotechnology"
},
{
"q": "Which of the following is an example of innate immunity?",
"options": ["A. Antibody production", "B. T-cell activation", "C. Skin as physical barrier", "D. Memory cell formation"],
"answer": "C",
"topic": "Human Health and Disease"
},
{
"q": "Widal test is done to diagnose:",
"options": ["A. Malaria", "B. Typhoid", "C. Dengue", "D. Hepatitis"],
"answer": "B",
"topic": "Human Health and Disease"
},
{
"q": "Which plasmodium species causes malignant malaria?",
"options": ["A. P. vivax", "B. P. malariae", "C. P. falciparum", "D. P. ovale"],
"answer": "C",
"topic": "Human Health and Disease"
},
{
"q": "The Okazaki fragments are synthesised on:",
"options": ["A. Leading strand only", "B. Lagging strand only", "C. Both strands", "D. Neither strand"],
"answer": "B",
"topic": "Molecular Biology"
},
{
"q": "A test cross involves crossing an individual with unknown genotype with:",
"options": ["A. Homozygous dominant", "B. Heterozygous individual", "C. Homozygous recessive", "D. F1 hybrid"],
"answer": "C",
"topic": "Genetics"
},
{
"q": "The law of segregation by Mendel is also called the law of:",
"options": ["A. Dominance", "B. Independent assortment", "C. Purity of gametes", "D. Blending"],
"answer": "C",
"topic": "Genetics"
},
{
"q": "Which of the following is a recombinant DNA technology product used to treat diabetes?",
"options": ["A. Interferon", "B. Humulin", "C. Erythropoietin", "D. Streptokinase"],
"answer": "B",
"topic": "Biotechnology"
},
{
"q": "The energy flow in an ecosystem follows the:",
"options": ["A. 100% efficiency rule", "B. 10% law (Lindeman)", "C. 50% rule", "D. Variable law"],
"answer": "B",
"topic": "Ecology"
},
{
"q": "Analogous organs are those that:",
"options": ["A. Have similar origin but different function", "B. Have different origin but similar function", "C. Are vestigial", "D. Develop from the same embryonic tissue"],
"answer": "B",
"topic": "Evolution"
},
{
"q": "The sodium-potassium pump moves:",
"options": ["A. 3 Na⁺ out and 2 K⁺ in per ATP", "B. 2 Na⁺ out and 3 K⁺ in per ATP", "C. 3 Na⁺ in and 2 K⁺ out per ATP", "D. Equal Na⁺ and K⁺ in both directions"],
"answer": "A",
"topic": "Human Physiology"
},
{
"q": "Which of the following correctly represents the order of protein synthesis steps?",
"options": ["A. Transcription → Translation → Post-translational modification", "B. Translation → Transcription → Splicing", "C. Replication → Transcription → Translation", "D. Splicing → Translation → Transcription"],
"answer": "A",
"topic": "Molecular Biology"
},
{
"q": "Photorespiration occurs in:",
"options": ["A. Mitochondria only", "B. Chloroplast only", "C. Peroxisome only", "D. Chloroplast, peroxisome, and mitochondria"],
"answer": "D",
"topic": "Photosynthesis"
},
{
"q": "Which of the following is a pioneer species in primary ecological succession?",
"options": ["A. Grasses", "B. Shrubs", "C. Lichens", "D. Trees"],
"answer": "C",
"topic": "Ecology"
},
]
~/neet-2026-mock/generate_pdf.py
#!/usr/bin/env python3
"""
NEET UG 2026 Mock Exam — PDF Generator
Uses ReportLab to produce a well-formatted exam paper + answer key.
"""
import sys
sys.path.insert(0, '/home/daytona/workspace/neet-2026-mock')
from questions import PHYSICS, CHEMISTRY, BIOLOGY
from extra_questions import EXTRA_PHYSICS, EXTRA_CHEMISTRY, EXTRA_BIOLOGY
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
PageBreak, HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import Flowable
import datetime
# ──────────────────────────────────────────────
# Build final question lists (45 + 45 + 90)
# ──────────────────────────────────────────────
phys_all = PHYSICS + EXTRA_PHYSICS # 41+4 = 45
chem_all = CHEMISTRY + EXTRA_CHEMISTRY # 40+5 = 45
bio_all = BIOLOGY + EXTRA_BIOLOGY # 60+30 = 90
assert len(phys_all) == 45, f"Physics count wrong: {len(phys_all)}"
assert len(chem_all) == 45, f"Chemistry count wrong: {len(chem_all)}"
assert len(bio_all) == 90, f"Biology count wrong: {len(bio_all)}"
# ──────────────────────────────────────────────
# Document setup
# ──────────────────────────────────────────────
OUTPUT_PATH = "/home/daytona/workspace/neet-2026-mock/NEET_UG_2026_Mock_Exam.pdf"
doc = SimpleDocTemplate(
OUTPUT_PATH,
pagesize=A4,
leftMargin=2*cm,
rightMargin=2*cm,
topMargin=2.2*cm,
bottomMargin=2.2*cm,
title="NEET UG 2026 Mock Exam",
author="Orris AI"
)
# ──────────────────────────────────────────────
# Styles
# ──────────────────────────────────────────────
styles = getSampleStyleSheet()
title_style = ParagraphStyle(
'ExamTitle', parent=styles['Title'],
fontSize=20, textColor=colors.HexColor('#1a237e'),
spaceAfter=4, alignment=TA_CENTER, fontName='Helvetica-Bold'
)
subtitle_style = ParagraphStyle(
'Subtitle', parent=styles['Normal'],
fontSize=11, textColor=colors.HexColor('#37474f'),
spaceAfter=2, alignment=TA_CENTER
)
info_style = ParagraphStyle(
'Info', parent=styles['Normal'],
fontSize=9.5, textColor=colors.HexColor('#455a64'),
spaceAfter=1, alignment=TA_CENTER
)
section_style = ParagraphStyle(
'SectionHead', parent=styles['Heading1'],
fontSize=13, textColor=colors.white,
spaceAfter=0, spaceBefore=14,
fontName='Helvetica-Bold',
backColor=colors.HexColor('#1a237e'),
borderPad=6, leading=18
)
q_num_style = ParagraphStyle(
'QNum', parent=styles['Normal'],
fontSize=10, fontName='Helvetica-Bold',
textColor=colors.HexColor('#1a237e'),
spaceAfter=1, spaceBefore=6
)
q_text_style = ParagraphStyle(
'QText', parent=styles['Normal'],
fontSize=10, fontName='Helvetica',
textColor=colors.HexColor('#212121'),
spaceAfter=2, leading=14
)
option_style = ParagraphStyle(
'Option', parent=styles['Normal'],
fontSize=9.5, fontName='Helvetica',
textColor=colors.HexColor('#37474f'),
leftIndent=14, spaceAfter=1, leading=13
)
instructions_style = ParagraphStyle(
'Instructions', parent=styles['Normal'],
fontSize=9.5, textColor=colors.HexColor('#37474f'),
spaceAfter=3, leading=14
)
answer_key_header = ParagraphStyle(
'AKHeader', parent=styles['Normal'],
fontSize=10, fontName='Helvetica-Bold',
textColor=colors.HexColor('#1a237e'),
spaceAfter=6, alignment=TA_CENTER
)
# ──────────────────────────────────────────────
# Helper: section header with coloured background
# ──────────────────────────────────────────────
def section_block(label, count, color_hex):
tbl = Table(
[[Paragraph(f" {label} ({count} Questions)", ParagraphStyle(
'SH', parent=styles['Normal'],
fontSize=13, fontName='Helvetica-Bold',
textColor=colors.white, leading=18
))]],
colWidths=[17*cm]
)
tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), colors.HexColor(color_hex)),
('TOPPADDING', (0,0), (-1,-1), 7),
('BOTTOMPADDING', (0,0), (-1,-1), 7),
('LEFTPADDING', (0,0), (-1,-1), 10),
]))
return tbl
# ──────────────────────────────────────────────
# Build content
# ──────────────────────────────────────────────
story = []
# ── Cover ──────────────────────────────────────
story.append(Spacer(1, 0.5*cm))
story.append(Paragraph("NEET UG 2026", title_style))
story.append(Paragraph("Full-Length Mock Examination — Paper 1", subtitle_style))
story.append(HRFlowable(width="100%", thickness=2, color=colors.HexColor('#1a237e')))
story.append(Spacer(1, 0.3*cm))
info_rows = [
["Total Questions:", "180", "Duration:", "3 Hours 20 Minutes (200 min)"],
["Maximum Marks:", "720", "Medium:", "English"],
["Negative Marking:", "−1 per wrong answer", "Correct Answer:", "+4 marks"],
["Exam Date:", "May 2026", "Prepared by:", "Orris AI — 2026 Edition"],
]
info_tbl = Table(info_rows, colWidths=[4.5*cm, 4*cm, 4.5*cm, 4*cm])
info_tbl.setStyle(TableStyle([
('FONTNAME', (0,0), (-1,-1), 'Helvetica'),
('FONTSIZE', (0,0), (-1,-1), 9.5),
('FONTNAME', (0,0), (0,-1), 'Helvetica-Bold'),
('FONTNAME', (2,0), (2,-1), 'Helvetica-Bold'),
('TEXTCOLOR', (0,0), (-1,-1), colors.HexColor('#37474f')),
('ROWBACKGROUNDS', (0,0), (-1,-1), [colors.HexColor('#e8eaf6'), colors.white]),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 6),
('GRID', (0,0), (-1,-1), 0.3, colors.HexColor('#c5cae9')),
('BOX', (0,0), (-1,-1), 1, colors.HexColor('#1a237e')),
]))
story.append(info_tbl)
story.append(Spacer(1, 0.4*cm))
# ── Instructions ──────────────────────────────
inst_header = Paragraph("<b>GENERAL INSTRUCTIONS</b>", ParagraphStyle(
'IH', parent=styles['Normal'], fontSize=11, fontName='Helvetica-Bold',
textColor=colors.HexColor('#1a237e'), spaceAfter=4
))
instructions = [
"1. This paper consists of <b>180 multiple choice questions</b>: 45 from Physics, 45 from Chemistry, and 90 from Biology (Botany + Zoology).",
"2. Each correct answer carries <b>+4 marks</b>. Each wrong answer carries <b>−1 mark</b>. Unattempted questions carry <b>0 marks</b>.",
"3. Total time allowed: <b>200 minutes (3 hours 20 minutes)</b>.",
"4. Use a <b>blue/black ball-point pen</b> to darken the circles in the OMR sheet.",
"5. Do not use whitener or any correcting fluid on the OMR sheet.",
"6. Rough work must be done only in the space provided in the question booklet.",
"7. <b>Answer Key</b> is provided at the end of this document.",
"8. Questions are based on NCERT Class 11 & 12 syllabus as per the NMC NEET 2026 curriculum.",
]
story.append(inst_header)
inst_tbl_data = [[Paragraph(i, instructions_style)] for i in instructions]
inst_tbl = Table(inst_tbl_data, colWidths=[17*cm])
inst_tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), colors.HexColor('#f5f5f5')),
('BOX', (0,0), (-1,-1), 0.8, colors.HexColor('#1a237e')),
('TOPPADDING', (0,0), (-1,-1), 2),
('BOTTOMPADDING', (0,0), (-1,-1), 2),
('LEFTPADDING', (0,0), (-1,-1), 8),
]))
story.append(inst_tbl)
story.append(PageBreak())
# ── Questions helper ───────────────────────────
SECTION_COLORS = {
"PHYSICS": "#1565c0",
"CHEMISTRY": "#2e7d32",
"BIOLOGY": "#6a1b9a",
}
def add_section(story, subject, questions, q_offset, color):
story.append(section_block(subject, len(questions), color))
story.append(Spacer(1, 0.3*cm))
for i, q in enumerate(questions, start=q_offset):
elems = []
elems.append(Paragraph(f"Q{i}. [{q['topic']}]", q_num_style))
elems.append(Paragraph(q['q'], q_text_style))
for opt in q['options']:
elems.append(Paragraph(opt, option_style))
elems.append(Spacer(1, 3))
story.append(KeepTogether(elems))
story.append(Spacer(1, 0.2*cm))
add_section(story, "PHYSICS", phys_all, 1, SECTION_COLORS["PHYSICS"])
story.append(PageBreak())
add_section(story, "CHEMISTRY", chem_all, 46, SECTION_COLORS["CHEMISTRY"])
story.append(PageBreak())
add_section(story, "BIOLOGY (BOTANY + ZOOLOGY)", bio_all, 91, SECTION_COLORS["BIOLOGY"])
# ── Answer Key ─────────────────────────────────
story.append(PageBreak())
story.append(section_block("ANSWER KEY", 180, "#37474f"))
story.append(Spacer(1, 0.4*cm))
story.append(Paragraph("Official Answer Key — NEET UG 2026 Mock Exam", answer_key_header))
all_qs = phys_all + chem_all + bio_all
# Build answer key table (6 columns: Q | Ans | Q | Ans | Q | Ans)
def make_ak_table(questions, offset=1):
rows_per_col = 30
# Flatten into (Q_num, answer, topic)
items = [(offset+i, q['answer'], q['topic']) for i, q in enumerate(questions)]
# Split into chunks of 30
col_data = [items[i:i+rows_per_col] for i in range(0, len(items), rows_per_col)]
# Pad to equal length
max_len = max(len(c) for c in col_data)
for c in col_data:
while len(c) < max_len:
c.append(("", "", ""))
# Build table rows: each row has up to 3 answer columns side by side
header = []
for _ in col_data:
header += [Paragraph("<b>Q#</b>", ParagraphStyle('AH', parent=styles['Normal'], fontSize=8, fontName='Helvetica-Bold', textColor=colors.white)),
Paragraph("<b>Key</b>", ParagraphStyle('AH', parent=styles['Normal'], fontSize=8, fontName='Helvetica-Bold', textColor=colors.white)),
Paragraph("<b>Topic</b>", ParagraphStyle('AH', parent=styles['Normal'], fontSize=8, fontName='Helvetica-Bold', textColor=colors.white))]
table_rows = [header]
for row_i in range(max_len):
row = []
for col in col_data:
qn, ans, topic = col[row_i]
row.append(Paragraph(str(qn), ParagraphStyle('AK', parent=styles['Normal'], fontSize=8, alignment=TA_CENTER)))
row.append(Paragraph(f"<b>{ans}</b>" if ans else "", ParagraphStyle('AKA', parent=styles['Normal'], fontSize=8, fontName='Helvetica-Bold', textColor=colors.HexColor('#1a237e'), alignment=TA_CENTER)))
row.append(Paragraph(topic, ParagraphStyle('AKT', parent=styles['Normal'], fontSize=7, textColor=colors.HexColor('#546e7a'))))
table_rows.append(row)
# Column widths: Q(1cm), Key(1.2cm), Topic(3.4cm) × 3 cols
col_w = [1*cm, 1.2*cm, 3.4*cm] * len(col_data)
tbl = Table(table_rows, colWidths=col_w, repeatRows=1)
tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), colors.HexColor('#37474f')),
('ROWBACKGROUNDS', (0,1), (-1,-1), [colors.HexColor('#fafafa'), colors.white]),
('GRID', (0,0), (-1,-1), 0.3, colors.HexColor('#cfd8dc')),
('TOPPADDING', (0,0), (-1,-1), 2),
('BOTTOMPADDING', (0,0), (-1,-1), 2),
('LEFTPADDING', (0,0), (-1,-1), 3),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
]))
return tbl
# Separate answer keys per section
story.append(Paragraph("<b>PHYSICS (Q1–Q45)</b>", ParagraphStyle('AKS', parent=styles['Normal'], fontSize=11, fontName='Helvetica-Bold', textColor=colors.HexColor('#1565c0'), spaceAfter=4)))
story.append(make_ak_table(phys_all, offset=1))
story.append(Spacer(1, 0.5*cm))
story.append(Paragraph("<b>CHEMISTRY (Q46–Q90)</b>", ParagraphStyle('AKS', parent=styles['Normal'], fontSize=11, fontName='Helvetica-Bold', textColor=colors.HexColor('#2e7d32'), spaceAfter=4)))
story.append(make_ak_table(chem_all, offset=46))
story.append(Spacer(1, 0.5*cm))
story.append(Paragraph("<b>BIOLOGY (Q91–Q180)</b>", ParagraphStyle('AKS', parent=styles['Normal'], fontSize=11, fontName='Helvetica-Bold', textColor=colors.HexColor('#6a1b9a'), spaceAfter=4)))
story.append(make_ak_table(bio_all, offset=91))
# ── Footer on each page ────────────────────────
def add_page_footer(canvas, doc):
canvas.saveState()
canvas.setFont('Helvetica', 8)
canvas.setFillColor(colors.HexColor('#9e9e9e'))
canvas.drawString(2*cm, 1.2*cm, "NEET UG 2026 Mock Exam | Orris AI | For Practice Only")
canvas.drawRightString(A4[0]-2*cm, 1.2*cm, f"Page {doc.page}")
canvas.restoreState()
# ── Build PDF ──────────────────────────────────
doc.build(story, onFirstPage=add_page_footer, onLaterPages=add_page_footer)
print(f"PDF saved to: {OUTPUT_PATH}")
cd /home/daytona/workspace/neet-2026-mock && python generate_pdf.py 2>&1
ls -lh /home/daytona/workspace/neet-2026-mock/NEET_UG_2026_Mock_Exam.pdf
NEET UG 2026 Mock Exam
PDF Document · PDF
| Section | Questions | Marks |
|---|---|---|
| Physics (Q1–Q45) | 45 MCQs | 180 |
| Chemistry (Q46–Q90) | 45 MCQs | 180 |
| Biology — Botany + Zoology (Q91–Q180) | 90 MCQs | 360 |
| Total | 180 | 720 |
where are questions
cd /home/daytona/workspace/neet-2026-mock && python -c " from pypdf import PdfReader r = PdfReader('NEET_UG_2026_Mock_Exam.pdf') print(f'Pages: {len(r.pages)}') for i, p in enumerate(r.pages[:3]): t = p.extract_text() print(f'--- Page {i+1} (first 400 chars) ---') print(t[:400]) print() "
NEET UG 2026 Mock Exam
PDF Document · PDF
Q1. [Electrostatics] The SI unit of electric charge is: A. Ampere B. Coulomb C. Volt D. Ohm
i need neet 2026 level
NEET 2026 exam pattern syllabus changes NMC latest
NEET 2025 question paper difficulty level analysis tricky questions topics
1