Quiz

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 17

QUIZ MASTER

MADE BY:

CERTIFICATE
CLASS: XII A YEAR:

THIS IS TO CERTIFY THAT THIS PROJECT IS SUCCESSFULLY COMPLETED


BY DHRUV KUMAR OF CLASS 12 ‘A’ WITH ROLL NO.17742177 . FOR
THE ACADEMIC YEAR 2022-2023 IN THE SCHOOL COMPUTER LAB.

HEAD TEACHER EXTERNAL EXAMINER INTERNAL EXAMINER


SIGNATURE (SUBJECT TEACHER)

DATE: / / 2023 DEPARTMENT OF COMPUTER SCIENCE

ACKNOWLEDGEMENT
DHRUV KUMAR OF CLASS 12 ‘A’ ROLLNO.17742177 WOULD LIKE TO
EXPRESS MY SINCERE GRATITUDE TO MY COMPUTER SCIENCE
TEACHER PGT COMPUTER SCIENCE, FOR HER VITAL SUPPORT,
GUIDANCE AND ENCOURAGEMENT—WITHOUT WHICH THIS PROJECT
WOULD NOT HAVE COME FORTH.

I WOULD ALSO LIKE TO EXPRESS MY GRATITUDE TO MY SCHOOL


JAWAHAR NAVODAYA VIDAYALAYA (YNR) FOR LETTING ME USE THE
SCHOOL LABORATORY

INDEX

BRIEF OVERVIEW OF PROJECT


SOFTWARE AND HARDWARE REQUIREMENTS

ADVANTAGES OF PROJECT

SOURCE CODE IN PYTHON

OUTPUT SCREEN

lIMITATIONS

BIBLIOGRAPHY
Brief Overview OF
Project

Quiz master is based on popular reality quiz shows where a player


has to answer some questions based on various themes. The player
gets to choose the correct answer from four different sets of options. If
the player chooses the right option he gets one point and proceeds. If
the option was wrong no points will be allotted.

Quiz Competitions are other events where similar mechanism is used.


Programming language used for this projects are python and MySQL.
Whole program is on python whereas database is stored on MySQL
server database. Upon running the program, Player has to enter
his/her name followed by starting the quiz. At the end total points
scored by the player are shown. Similar mechanism can be seen in
Quiz competitions too. Whether it be of school level or regional level.
Need Of
Computerization
The use of computerized quizzes is highly recommended for any
instructor teaching a course that is either large in size (with a typical
lecture format) or that requires that students to engage in a
significant amount of assigned readings. Students appear to benefit
from the use of such computerized quizzes as they become actively
engaged in the course material and study with greater frequency
throughout the semester

Computerized settings can be designed to provide students with


immediate feedback regarding their quiz grades, and allow them to
take each quiz more than once to provide greater mastery of the
material. It may be helpful to limit the number of quiz attempts to
three.

Automatic, computerized grading and entry of each student’s highest


quiz grades into the course grade book will generate significant time
savings for the instructor, and provide students with immediate
feedback on their quiz performance.

Software AND
Hardware
Requirements
#SOFTWARE SPECIFICATION

Operating System: Windows 10/8/7

Platform : Python IDLE 3.7/3.8

Database : MySQL

Languages : Python

#HARDWARE SPECIFICATION

Processor: Dual core or above

Hard Disk: 40 GB

RAM : 1024 MB
Advantages OF
Project
Present day everything is virtually presented.
Quiz master is very simple yet has attractive interface which makes quiz
completions easier and more enjoyable.
Sspecific recommendations for the use of Quiz Master can be made
including:
 To encourage students to engage in long-term learning, include
some of the individual online quiz questions on midterm and
final exams
 To deter student cheating, the order of quiz questions as well as
their multiple choice answers is randomized.
 User friendly
 Responsive design
 Automatically checks answers
 It saves paper
 Publishes score instantaneously after quiz ends
#SOURCE CODE IN
PYTHON
import sys

import mysql.connector

import random

mydb=mysql.connector.connect(host= "localhost" ,user= "root",\

passwd="12345",database= "quiz")

mycursor=mydb.cursor()

def Home():

f=1

while f!=3:

print("Welcome to Quiz")

print("********************")

print("1. Enter Questions")

print("2. Take Quiz")

print("3. Exit")

f=int(input("Enter your choice: "))

if f==1:

Question()

elif f==2:
Quiz()

elif f==3:

print("Exiting the Quiz")

mycursor.close()

mydb.close()

sys.exit();

else:

Home()

def Question():

ch='Y'

while ch=='Y' or ch=='y':

print("Welcome to Question Portal")

print("***********************")

q=input("Enter the question :")

op1=input("Enter the option 1 :")

op2=input("Enter the option 2 :")

op3=input("Enter the option 3 :")

op4=input("Enter the option 4 :")

ans=0

while ans==0:

op=int(input("Which option is correct answer (1,2,3,4) :"))

if op==1:

ans=op1

elif op==2:

ans=op2

elif op==3:

ans=op3

elif op==4:

ans=op4
else:

print("Please choose the correct option as answer")

mycursor.execute("Select * from question")

data=mycursor.fetchall()

qid=(mycursor.rowcount)+1

mycursor.execute("Insert into question values (%s,%s,%s,%s,%s,%s,%s)",(qid,q,op1,op2,op3,op4,ans))

mydb.commit()

ch=input("Question added successfully.. Do you want to add more (Y/N)")

Home()

def Quiz():

print("Welcome to Quiz portal")

print("***********************")

mycursor.execute("Select * from question")

data=mycursor.fetchall()

name=input("Enter your name :")

rc=mycursor.rowcount

noq=int(input("Enter the number of questions to attempt (max %s):"%rc))

l=[]

while len(l)!=noq:

x=random.randint(1,rc)

if l.count(x)>0:

l.remove(x)

else:

l.append(x)

print("Quiz has started")

c=1

score=0

for i in range(0,len(l)):

mycursor.execute("Select * from question where qid=%s",(l[i],))


ques=mycursor.fetchone()

print("--------------------------------------------------------------------------------------------")

print("Q.",c,": ",ques[1],"\nA.",ques[2],"\t\tB.",ques[3],"\nC.",ques[4],"\t\tD.",ques[5])

print("--------------------------------------------------------------------------------------------")

c+=1

ans=None

while ans==None:

choice=input("Answer (A,B,C,D) :")

if choice=='A' or choice=='a':

ans=ques[2]

elif choice=='B' or choice=='b':

ans=ques[3]

elif choice=='C' or choice=='c':

ans=ques[4]

elif choice=='D' or choice=='d':

ans=ques[5]

else:

print("Kindly select A,B,C,D as option only")

if ans==ques[6]:

print("Correct")

score=score+1

else:

print("Incorrect.. Correct answer is :",ques[6])

print("Quiz has ended !! Your final score is :",score)

input("Press any key to continue")

Home()

Home()
#OUTPUT SCREEN
#MYSQL TABLE
LIMITATIONS

 Need to add questions first before playing quiz

 No permanent score board


BIBLIOGARPHY
 Computer Science with Python – Class XII by Sumita Arora

 Website pythonnotes.org

 Software Google chrome

You might also like