import streamlit as st import random # ------------------------------ # Quiz Data (10 categories × 5 questions each) # ------------------------------ quizzes = { "Science": [ {"question": "What planet is known as the Red Planet?", "options": ["Earth", "Mars", "Venus", "Jupiter"], "answer": "Mars"}, {"question": "What gas do plants absorb?", "options": ["Oxygen", "Carbon Dioxide", "Nitrogen", "Hydrogen"], "answer": "Carbon Dioxide"}, {"question": "Water freezes at what temperature (C)?", "options": ["0", "32", "-10", "100"], "answer": "0"}, {"question": "What organ produces insulin?", "options": ["Liver", "Heart", "Pancreas", "Lung"], "answer": "Pancreas"}, {"question": "What is the chemical symbol for gold?", "options": ["Au", "Ag", "Go", "Gd"], "answer": "Au"}, ], "Artificial Intelligence (AI)": [ {"question": "What does AI stand for?", "options": ["Artificial Intelligence", "Automatic Integration", "Automated Interface", "Actual Intelligence"], "answer": "Artificial Intelligence"}, {"question": "Which company developed ChatGPT?", "options": ["Google", "Meta", "OpenAI", "Microsoft"], "answer": "OpenAI"}, {"question": "Which model is used for generating human-like text?", "options": ["CNN", "GPT", "RNN", "SVM"], "answer": "GPT"}, {"question": "Turing Test is used to test?", "options": ["Intelligence", "Speed", "Memory", "Computation"], "answer": "Intelligence"}, {"question": "Which is not a type of AI?", "options": ["Narrow AI", "General AI", "Super AI", "Organic AI"], "answer": "Organic AI"}, ], "Machine Learning (ML)": [ {"question": "Which of the following is a supervised learning algorithm?", "options": ["K-Means", "Linear Regression", "PCA", "DBSCAN"], "answer": "Linear Regression"}, {"question": "ML uses what to make predictions?", "options": ["Data", "Rules", "Hardware", "Code"], "answer": "Data"}, {"question": "Which library is used in ML?", "options": ["NumPy", "Pandas", "Scikit-learn", "OpenCV"], "answer": "Scikit-learn"}, {"question": "Which is not an ML algorithm?", "options": ["SVM", "CNN", "Decision Tree", "KNN"], "answer": "CNN"}, {"question": "What type of data does supervised learning require?", "options": ["Unlabeled", "Categorical", "Labeled", "Binary"], "answer": "Labeled"}, ], "Deep Learning (DL)": [ {"question": "Deep Learning is a subset of?", "options": ["Machine Learning", "Data Mining", "Statistics", "Robotics"], "answer": "Machine Learning"}, {"question": "Which architecture is common in DL?", "options": ["CNN", "SVM", "KNN", "PCA"], "answer": "CNN"}, {"question": "Which library is used for DL?", "options": ["TensorFlow", "NumPy", "Matplotlib", "OpenCV"], "answer": "TensorFlow"}, {"question": "RNNs are best for what type of data?", "options": ["Images", "Time Series", "Tables", "Graphs"], "answer": "Time Series"}, {"question": "Which function is used in neural networks?", "options": ["Activation", "Loss", "Gradient", "Bias"], "answer": "Activation"}, ], "Computer Vision (CV)": [ {"question": "What is the goal of CV?", "options": ["Understand images", "Translate text", "Play games", "Store files"], "answer": "Understand images"}, {"question": "Which library is popular in CV?", "options": ["OpenCV", "Pandas", "Flask", "Numpy"], "answer": "OpenCV"}, {"question": "What technique is used for object detection?", "options": ["YOLO", "RNN", "PCA", "SVM"], "answer": "YOLO"}, {"question": "What file format is NOT an image?", "options": ["JPG", "PNG", "TXT", "GIF"], "answer": "TXT"}, {"question": "Which model type is used for image classification?", "options": ["CNN", "RNN", "LSTM", "DBSCAN"], "answer": "CNN"}, ], "Health": [ {"question": "Which vitamin is gained from sunlight?", "options": ["A", "B12", "C", "D"], "answer": "D"}, {"question": "What is the normal human body temperature?", "options": ["36.5°C", "37°C", "38°C", "39°C"], "answer": "37°C"}, {"question": "Which organ pumps blood?", "options": ["Lungs", "Liver", "Heart", "Kidney"], "answer": "Heart"}, {"question": "Which disease affects lungs?", "options": ["Asthma", "Diabetes", "Arthritis", "Jaundice"], "answer": "Asthma"}, {"question": "What nutrient builds muscle?", "options": ["Protein", "Carbohydrate", "Fat", "Sugar"], "answer": "Protein"}, ], "Environment": [ {"question": "Which gas causes global warming?", "options": ["CO2", "O2", "N2", "H2"], "answer": "CO2"}, {"question": "What is the main source of air pollution?", "options": ["Vehicles", "Trees", "Wind", "Mountains"], "answer": "Vehicles"}, {"question": "Which is a renewable resource?", "options": ["Solar", "Coal", "Oil", "Gas"], "answer": "Solar"}, {"question": "Which layer protects us from UV rays?", "options": ["Ozone", "Clouds", "Stratosphere", "Troposphere"], "answer": "Ozone"}, {"question": "Which ocean is the largest?", "options": ["Atlantic", "Pacific", "Indian", "Arctic"], "answer": "Pacific"}, ], "Mathematics": [ {"question": "What is 12 × 8?", "options": ["96", "108", "88", "104"], "answer": "96"}, {"question": "Square root of 64?", "options": ["6", "7", "8", "9"], "answer": "8"}, {"question": "π (Pi) value to 2 decimal places?", "options": ["3.12", "3.14", "3.16", "3.18"], "answer": "3.14"}, {"question": "What is 15% of 200?", "options": ["30", "25", "20", "35"], "answer": "30"}, {"question": "What is 100 ÷ 5?", "options": ["20", "15", "10", "25"], "answer": "20"}, ], "Literature": [ {"question": "Who wrote 'Hamlet'?", "options": ["Shakespeare", "Chaucer", "Shelley", "Austen"], "answer": "Shakespeare"}, {"question": "'Pride and Prejudice' author?", "options": ["Jane Austen", "Bronte", "Eliot", "Shelley"], "answer": "Jane Austen"}, {"question": "Sherlock Holmes creator?", "options": ["Doyle", "Christie", "Rowling", "Brown"], "answer": "Doyle"}, {"question": "Which book starts with 'Call me Ishmael'?", "options": ["Moby Dick", "Odyssey", "Ulysses", "Don Quixote"], "answer": "Moby Dick"}, {"question": "Language of 'Les Misérables'?", "options": ["French", "English", "German", "Spanish"], "answer": "French"}, ], "History": [ {"question": "First President of USA?", "options": ["Lincoln", "Washington", "Adams", "Jefferson"], "answer": "Washington"}, {"question": "Year WWII ended?", "options": ["1945", "1939", "1950", "1940"], "answer": "1945"}, {"question": "Pyramids built by?", "options": ["Egyptians", "Romans", "Greeks", "Mayans"], "answer": "Egyptians"}, {"question": "Who discovered America?", "options": ["Columbus", "Da Gama", "Magellan", "Marco Polo"], "answer": "Columbus"}, {"question": "Start of Industrial Revolution?", "options": ["England", "France", "USA", "Germany"], "answer": "England"}, ] } # ------------------------------ # Functions # ------------------------------ def load_questions(category): return random.sample(quizzes[category], 5) def evaluate(questions): score = 0 results = [] for i, q in enumerate(questions): selected = st.session_state.get(f"answer_{i}") correct = q["answer"] is_correct = selected == correct if is_correct: score += 1 results.append({"question": q["question"], "selected": selected, "correct": correct, "is_correct": is_correct}) return score, results def show_feedback(score): if score == 5: st.success("🌟 Perfect! You got 5/5! 🎉") elif score >= 3: st.info(f"👍 Good Job! You scored {score}/5") else: st.warning(f"📖 Keep practicing. You scored {score}/5") # ------------------------------ # Streamlit UI # ------------------------------ st.set_page_config(page_title="BrainQuest AI", layout="centered") # First page welcome screen if "started" not in st.session_state: st.session_state.started = False if not st.session_state.started: st.markdown("""
Test your knowledge across 10 powerful fields