Code is copied!
Class 12 CBSE - Python Specimen Question Paper 2023
Maximum Marks:70
Time allowed: 3 hours
This question paper contains five sections, Section A to E.
All questions are compulsory.
Section A have 18 questions carrying 01 mark each.
Section B has 07 Very Short Answer type questions carrying 02 marks each.
Section C has 05 Short Answer type questions carrying 03 marks each.
Section D has 03 Long Answer type questions carrying 05 marks each.
Section E has 02 questions carrying 04 marks each. One internal choice is
given in Q35 against part c only.
All programming questions are to be answered using Python Language only.
Section - A
Question 1 :
State True or False – “Variable declaration is implicit in Python.”
Solution
Ans. TRUE
Question 2 :
Which of the following is an invalid datatype in Python?
Which of the following is an invalid datatype in Python?
(a) Set
(b) None
(c)Integer
(d)Real
Solution
Ans: (d) Real
Question 3 :
Given the following
dictionaries
Given the following
dictionaries
dict_exam={"Exam":"AISSCE", "Year":2023}
dict_result={"Total":500, "Pass_Marks":165}
Which statement will merge the contents of both dictionaries?
a. dict_exam.update(dict_result)
b. dict_exam + dict_result
c. dict_exam.add(dict_result)
d. dict_exam.merge(dict_result)
Solution
Ans: (a) dict_exam.update(dict_result)
Question 4 :
Consider the given expression:
Consider the given expression:
not True and False or True
Which of the following will be correct output if the given expression is
evaluated?
(a) True
(b) False
(c) NONE
(d) NULL
Solution
Ans: (a) True
Question 5 :
Select the correct output of the code:
Select the correct output of the code:
a = "Year 2022 at All the best"
a = a.split('2')
b = a[0] + ". " + a[1] + ". " + a[3]
print (b)
(a) Year . 0. at All the best
(b) Year 0. at All the best
(c) Year . 022. at All the best
(d) Year . 0. at all the best
Solution
Ans: (a) Year . 0. at All the best
Question 6 :
Which of the following mode in file opening statement results or generates an
error if the file does not exist?
Which of the following mode in file opening statement results or generates an
error if the file does not exist?
(a) a+
(b) r+
(c) w+
(d) None of the above
Solution
Ans: (b) r+
Question 7 :
Fill in the blank:
Fill in the blank:
______ command is used to remove primary key from a table in SQL.
(a) update (b)remove (c) alter (d)drop
Solution
Ans: (c) alter
Question 8 :
Which of the following commands will delete the table from MYSQL
database?
Which of the following commands will delete the table from MYSQL
database?
(a) DELETE TABLE
(b) DROP TABLE
(c) REMOVE TABLE
(d) ALTER TABLE
Solution
Ans: (b) DROP TABLE
Question 9 :
Which of the following statement(s) would give an error after executing the
following code?
Which of the following statement(s) would give an error after executing the
following code?
S="Welcome to class XII" # Statement 1
print(S) # Statement 2
S="Thank you" # Statement 3
S[0]= '@' # Statement 4
S=S+"Thank you" # Statement 5
(a) Statement 3
(b) Statement 4
(c) Statement 5
(d) Statement 4 and 5
Solution
Ans: (b) Statement 4
Question 10 :
Fill in the blank:
Fill in the blank:
_________ is a non-key attribute, whose values are derived from the primary key
of some other table.
(a) Primary Key
(b) Foreign Key
(c) Candidate Key
(d) Alternate Key
Solution
Ans: (b) Foreign Key
Question 11 :
The correct syntax of seek() is:
The correct syntax of seek() is:
(a) file_object.seek(offset [, reference_point])
(b) seek(offset [, reference_point])
(c) seek(offset, file_object)
(d) seek.file_object(offset)
Solution
Ans: (a) file_object.seek(offset [, reference_point])
Question 12 :
Fill in the blank:
Fill in the blank:
The SELECT statement when combined with __________ clause, returns records
without repetition.
(a) DESCRIBE
(b) UNIQUE
(c) DISTINCT
(d) NULL
Solution
Ans: (c) DISTINCT
Question 13 :
Fill in the blank:
Fill in the blank:
______is a communication methodology designed to deliver both voice
and multimedia communications over Internet protocol.
(a) VoIP (b) SMTP (c) PPP (d)HTTP
Solution
Ans: (a) VoIP
Question 14 :
What will the following expression be evaluated to in Python?
What will the following expression be evaluated to in Python?
print(15.0 / 4 + (8 + 3.0))
(a) 14.75 (b)14.0 (c) 15 (d) 15.5
Solution
Ans: (a) 14.75
Question 15 :
Which function is used to display the total number of records from a table in a
database?
Which function is used to display the total number of records from a table in a
database?
(a) sum(*)
(b) total(*)
(c) count(*)
(d) return(*)
Solution
Ans: (c) count(*)
Question 16 :
To establish a connection between Python and SQL database, connect() is
used. Which of the following arguments may not necessarily be given while
calling connect() ?
To establish a connection between Python and SQL database, connect() is
used. Which of the following arguments may not necessarily be given while
calling connect() ?
(a) host
(b) database
(c) user
(d) password
Solution
Ans: (b) databaseQ17 and 18 are ASSERTION AND REASONING based questions. Mark the correct choice as
(a) Both A and R are true and R is the correct explanation for A
(b) Both A and R are true and R is not the correct explanation for A
(c) A is True but R is False
(d) A is false but R is True
Question 17 :
Assertion (A):- If the arguments in a function call statement match the number
and order of arguments as defined in the function definition, such arguments
are called positional arguments.
Assertion (A):- If the arguments in a function call statement match the number
and order of arguments as defined in the function definition, such arguments
are called positional arguments.
Reasoning (R):- During a function call, the argument list first contains default
argument(s) followed by positional argument(s).
Solution
Ans: (c) A is True but R is False
Question 18 :
Assertion (A): CSV (Comma Separated Values) is a file format for data storage
which looks like a text file.
Assertion (A): CSV (Comma Separated Values) is a file format for data storage
which looks like a text file.
Reason (R): The information is organized with one record on each line and each
field is separated by comma.
Solution
Ans: (a) Both A and R are true and R is the correct explanation for ASection - B
Question 19 :
Rao has written a code to input a number and check whether it is prime or
not. His code is having errors. Rewrite the correct code and underline the
corrections made.
Rao has written a code to input a number and check whether it is prime or
not. His code is having errors. Rewrite the correct code and underline the
corrections made.
def prime():
n=int(input("Enter number to check :: ")
for i in range (2, n//2):
if n%i=0:
print("Number is not prime \n")
break
else:
print("Number is prime \n’)
Solution
Question 20 :
Write two points of difference between Circuit Switching and Packet Switching.
Write two points of difference between XML and HTML.
Write two points of difference between Circuit Switching and Packet Switching.
Solution
Circuit Switching | Packet Switching |
---|---|
Circuit switching is the method of switching which is used for establishing a dedicated communication path between the sender and the receiver. | Packet switching is the method of switching where no dedicated path is established from the source to the destination. |
Data is processed and transmitted at the source only. | Data is processed and transmitted, not only at the source but at each switching station |
It is more reliable. | It is less reliable. |
OR
Write two points of difference between XML and HTML.
Solution
HTML (Hypertext Markup Langauge) | XML (Extensible MarkupLangauge) |
---|---|
HTML tags are pre-defined and it is a markup language | HTML is about displaying data. |
Static in nature | XML tags are not predefined, they are user defined |
XML stores and transfers data. | Dynamic in nature |
Question 21 :
a. Given is a Python string declaration:
b. Write the output of the code given below:
a. Given is a Python string declaration:
myexam="@@CBSE Examination 2022@@"
Write the output of: print(myexam[::-2])
Solution
Ans: @20 otnmx SC@b. Write the output of the code given below:
my_dict = {"name": "Aman", "age": 26}
my_dict['age'] = 27
my_dict['address'] = "Delhi"
print(my_dict.items())
Solution
Ans: dict_items([('name', 'Aman'), ('age', 27), ('address', 'Delhi')])
Question 22 :
For example:
In the tables TRAINER and COURSE given below, TID is primary key in TRAINER table but foreign key in COURSE table.
Trainer
COURSE
Explain the use of ‘Foreign Key’ in a Relational Database Management System. Give example to support your answer.
Solution
A foreign key is used to set or represent a relationship between two relations ( or tables) in a database. Its value is derived from the primary key attribute of another relation.For example:
In the tables TRAINER and COURSE given below, TID is primary key in TRAINER table but foreign key in COURSE table.
Trainer
TID | TNAME | CITY | HIREDATE | SALARY |
---|---|---|---|---|
101 | Ritu | Nagpur | 1998-10-15 | 56700 |
102 | Navin | Goa | 1994-12-24 | 80000 |
103 | Murugan | Chandigarh | 2001-12-21 | 82000 |
104 | Jyothi | Guwahati | 2002-12-25 | 68000 |
105 | Chanu | Mumbai | 1996-01-12 | 95000 |
106 | Arbaz | Delhi | 2001-12-12 | 69000 |
COURSE
Question 23 :
(a) Write the full forms of the following:
(i) SMTP: Simple Mail Transfer Protocol
(ii) PPP: Point to Point Protocol
(b) What is the use of TELNET?
(a) Write the full forms of the following:
(i) SMTP (ii) PPP
Solution
Ans:(i) SMTP: Simple Mail Transfer Protocol
(ii) PPP: Point to Point Protocol
(b) What is the use of TELNET?
(i) SMTP (ii) PPP
Solution
Ans: TELNET is used to access a remote computer / network.
Question 24 :
Predict the output of the Python code given below:
def Diff(N1,N2):
if N1>N2:
return N1-N2
else:
return N2-N1
NUM= [10,23,14,54,32]
for CNT in range (4,0,-1):
A=NUM[CNT]
B=NUM[CNT-1]
print(Diff(A,B),'#', end=' ')
Solution
Ans: 22 # 40 # 9 # 13 #OR
Predict the output of the Python code given below:
tuple1 = (11, 22, 33, 44, 55 ,66)
list1 =list(tuple1)
new_list = []
for i in list1:
if i%2==0:
new_list.append(i)
new_tuple = tuple(new_list)
print(new_tuple)
Solution
Ans: (22,44,66)
Question 25 :
Example: Table : EMPL
e.g. SELECT COUNT(*) FROM EMPL;
Output
e.g.2 SELECT COUNT(JOB) FROM EMPL;
Output
Since JOB has 2 NULL values
Categorize the following commands as DDL or DML:
DDL- ALTER, DROP
DML – INSERT, UPDATE
Differentiate between COUNT() and COUNT(*) functions in SQL with appropriate example.
Solution
Ans: COUNT(*) returns the count of all rows in the table, whereas COUNT () is used with Column_Name passed as argument and counts the number of non-NULL values in a column that is given as argument.Example: Table : EMPL
e.g. SELECT COUNT(*) FROM EMPL;
Output
e.g.2 SELECT COUNT(JOB) FROM EMPL;
Output
Since JOB has 2 NULL values
OR
Categorize the following commands as DDL or DML:
INSERT, UPDATE, ALTER, DROP
Solution
Ans:DDL- ALTER, DROP
DML – INSERT, UPDATE
Section - C
Question 26 :
(a) Consider the following tables – Bank_Account and Branch:
(b) Write the output of the queries (i) to (iv) based on the table,
TECH_COURSE given below:
Ans. (ii)
Ans. (iii)
Ans:(iv)
15500.00
(a) Consider the following tables – Bank_Account and Branch:
What will be the output of the following statement?
SELECT * FROM Bank_Account NATURAL JOIN Branch;
Solution
Ans:OR
(b) Write the output of the queries (i) to (iv) based on the table,
TECH_COURSE given below:
(i) SELECT DISTINCT TID FROM TECH_COURSE;
(ii) SELECT TID, COUNT(*), MIN(FEES) FROM TECH_COURSE
GROUP BY TID HAVING COUNT(TID)>1;
(iii) SELECT CNAME FROM TECH_COURSE WHERE FEES>15000
ORDER BY CNAME;
(iv) SELECT AVG(FEES) FROM TECH_COURSE WHERE FEES
BETWEEN 15000 AND 17000;
Solution
Ans: (i)Ans. (ii)
Ans. (iii)
Ans:(iv)
15500.00
Question 27 :
Write a method COUNTLINES() in Python to read lines from text file
‘TESTFILE.TXT’ and display the lines which are not starting with any vowel.
Write a function ETCount() in Python, which should read each character of a
text file “TESTFILE.TXT” and then count and display the count of occurrence
of alphabets E and T individually (including small cases e and t too).
Write a method COUNTLINES() in Python to read lines from text file
‘TESTFILE.TXT’ and display the lines which are not starting with any vowel.
Example:
If the file content is as follows:
An apple a day keeps the doctor away.
We all pray for everyone’s safety.
A marked difference will come in our country.
The COUNTLINES() function should display the output as:
The number of lines not starting with any vowel - 1
Solution
Ans: def COUNTLINES() : file = open ('TESTFILE.TXT', 'r') lines = file.readlines() count=0 for w in lines : if (w[0]).lower() not in 'aeoiu' count = count + 1 print ("The number of lines not starting with any vowel: ", count) file.close()
OR
Write a function ETCount() in Python, which should read each character of a
text file “TESTFILE.TXT” and then count and display the count of occurrence
of alphabets E and T individually (including small cases e and t too).
Example:
If the file content is as follows:
Today is a pleasant day.
It might rain today.
It is mentioned on weather sites
The ETCount() function should display the output as:
The number of E or e: 6
The number of T or t : 9
Solution
Ans: def ETCount() : file = open ('TESTFILE.TXT', 'r') lines = file.readlines() countE=0 countT=0 for w in lines : for ch in w: if ch in 'Ee': countE = countE + 1 if ch in 'Tt': countT=countT + 1 print ("The number of E or e : ", countE) print ("The number of T or t : ", countT) file.close()
Question 28 :
(a) Write the outputs of the SQL queries (i) to (iii) based on the relations
Teacher and Placement given below:
Ans. (ii)
Ans. (iii)
Ans. (iv)
(a) Write the outputs of the SQL queries (i) to (iii) based on the relations
Teacher and Placement given below:
(i) SELECT Department, avg(salary) FROM Teacher GROUP
BY Department;
(ii) SELECT MAX(Date_of_Join),MIN(Date_of_Join) FROM
Teacher;
(iii)SELECT Name, Salary, T.Department, Place FROM Teacher
T, Placement P WHERE T.Department = P.Department AND
Salary>20000;
(iv)SELECT Name, Place FROM Teacher T, Placement P WHERE
Gender='F' and T.Department=P.Department;
Solution
Ans. (i)Ans. (ii)
Ans. (iii)
Ans. (iv)
(b) Write the command to view all tables in a database.
Solution
Ans. SHOW TABLES;
Question 29 :
Write a function INDEX_LIST(L), where L is the list of elements passed as
argument to the function. The function returns another list named indexList
that stores the indices of all Non-Zero Elements of L.
Write a function INDEX_LIST(L), where L is the list of elements passed as
argument to the function. The function returns another list named indexList
that stores the indices of all Non-Zero Elements of L.
For example:
If L contains [12,4,0,11,0,56]
The indexList will have - [0,1,3,5]
Solution
Ans: def INDEX_LIST(L): indexList=[] for i in range(len(L)): if L[i]!=0: indexList.append(i) return indexList
Question 30 :
A list contains following record of a customer:
Write a function in Python, Push(SItem) where , SItem is a dictionary
containing the details of stationary items– {Sname:price}.
The function should push the names of those items in the stack who have price
greater than 75. Also display the count of elements pushed into the stack.
A list contains following record of a customer:
[Customer_name, Phone_number, City]
Write the following user defined functions to perform given operations on the
stack named status:
(i) Push_element() - To Push an object containing name and Phone
number of customers who live in Goa to the stack
(ii) Pop_element() - To Pop the objects from the stack and display them.
Also, display “Stack Empty” when there are no elements in the
stack.
For example:
If the lists of customer details are:
[“Gurdas”, “99999999999”,”Goa”]
[“Julee”, “8888888888”,”Mumbai”]
[“Murugan”,”77777777777”,”Cochin”]
[“Ashmit”, “1010101010”,”Goa”]
The stack should contain
[“Ashmit”,”1010101010”]
[“Gurdas”,”9999999999”]
The output should be:
[“Ashmit”,”1010101010”]
[“Gurdas”,”9999999999”]
Stack Empty
Solution
Ans: status=[] def Push_element(cust): if cust[2]=="Goa": L1=[cust[0],cust[1]] status.append(L1) def Pop_element (): num=len(status) while len(status)!=0: dele=status.pop() print(dele) num=num-1 print("Stack Empty")
OR
Write a function in Python, Push(SItem) where , SItem is a dictionary
containing the details of stationary items– {Sname:price}.
The function should push the names of those items in the stack who have price
greater than 75. Also display the count of elements pushed into the stack.
For example:
If the dictionary contains the following data:
Ditem={"Pen":106,"Pencil":59,
"Notebook":80,"Eraser":25}
The stack should contain
Notebook
Pen
The output should be:
The count of elements in the stack is 2
Solution
Ans: stackItem=[] def Push(SItem): count=0 for k in SItem: if (SItem[k]>=75): stackItem.append(k) count=count+1 print("The count of elements in the stack is : ",count)
Section - D
Question 31 :
MakeInIndia Corporation, an Uttarakhand based IT Training company, is planning
to set up training centres in various cities in next 2 years. Their first campus is
coming up in Kashipur district. At Kashipur campus, they are planning to have 3
different blocks for App development, Web designing and Movie Editing. Each
block has number of computers, which are required to be connected in a
network for communication, data and resource sharing. As a network consultant
of this company, you have to suggest the best network related solutions for them
for issues/problems raised in question nos. (i) to (v), keeping in mind the
distances between various blocks/locations and other given parameters.
Movie editing block is the most appropriate to house the server as it has the maximum number of computers.
Ans: (ii) Firewall
Ans: (iii) Ethernet Cable
Layout:
Ans: (iv) Switch/hub will be placed in all blocks to have connectivity within the block. Repeater is not required between the blocks as the distances are less than 100 mts.
Ans: (v) Protocol: VoIP
MakeInIndia Corporation, an Uttarakhand based IT Training company, is planning
to set up training centres in various cities in next 2 years. Their first campus is
coming up in Kashipur district. At Kashipur campus, they are planning to have 3
different blocks for App development, Web designing and Movie Editing. Each
block has number of computers, which are required to be connected in a
network for communication, data and resource sharing. As a network consultant
of this company, you have to suggest the best network related solutions for them
for issues/problems raised in question nos. (i) to (v), keeping in mind the
distances between various blocks/locations and other given parameters.
Distance between various blocks/locations:
Number of computers
(i) Suggest the most appropriate block/location to house the SERVER in
the Kashipur campus (out of the 3 blocks) to get the best and
effective connectivity. Justify your answer.
(ii) Suggest a device/software to be installed in the Kashipur Campus to
take care of data security.
(iii) Suggest the best wired medium and draw the cable layout (Block to
Block) to economically connect various blocks within the Kashipur Campus.
(iv) Suggest the placement of the following devices with appropriate
reasons:
a. Switch / Hub
b. Repeater
(v) Suggest the protocol that shall be needed to provide Video Conferencing
solution between Kashipur Campus and Mussoorie Campus.
Solution
Ans: (i)Movie editing block is the most appropriate to house the server as it has the maximum number of computers.
Ans: (ii) Firewall
Ans: (iii) Ethernet Cable
Layout:
Ans: (iv) Switch/hub will be placed in all blocks to have connectivity within the block. Repeater is not required between the blocks as the distances are less than 100 mts.
Ans: (v) Protocol: VoIP
Question 32 :
Output:
105#6#
Statement 1:
con1.cursor()
Statement 2:
mycursor.execute(querry)
Statement 3:
con1.commit()
sELCcME&Cc
Statement 1:
con1.cursor()
Statement 2:
mycursor.execute("select * from student where Marks>75")
Statement 3:
mycursor.fetchall()
(a) Write the output of the code given below
p=5
def sum(q,r=2):
global p
p=r+q**2
print(p, end= '#')
a=10
b=5
sum(a,b)
sum(r=5,q=1)
p=5 def sum(q,r=2): global p p=r+q**2 print(p, end= '#') a=10 b=5 sum(a,b) sum(r=5,q=1)
Solution
Ans:Output:
105#6#
(b) The code given below inserts the following record in the table Student:
RollNo – integer
Name – string
Clas – integer
Marks – integer
Note the following to establish connectivity between Python and MYSQL:
1.Username is root
2.Password is tiger
3.The table exists in a MYSQL database named school.
4.The details (RollNo, Name, Clas and Marks) are to be
accepted from the user.
Write the following missing statements to complete the code:
Statement 1 – to form the cursor object
Statement 2 – to execute the command that inserts the record in the table
Student.
Statement 3- to add the record permanently in the database
import mysql.connector as mysql
def sql_data():
con1=mysql.connect(host="localhost",user="root",
password="tiger", database="school")
mycursor=_________________ #Statement 1
rno=int(input("Enter Roll Number :: "))
name=input("Enter name :: ")
clas=int(input("Enter class :: "))
marks=int(input("Enter Marks :: "))
querry="insert into student
values({},'{}',{},{})".format(rno,name,clas,marks)
______________________ #Statement 2
______________________ # Statement 3
print("Data Added successfully")
Solution
Ans:Statement 1:
con1.cursor()
Statement 2:
mycursor.execute(querry)
Statement 3:
con1.commit()
OR
(a) Predict the output of the code given below:
s="welcome2cs"
n = len(s)
m=""
for i in range(0, n):
if (s[i] >= 'a' and s[i] <= 'm'):
m = m +s[i].upper()
elif (s[i] >= 'n' and s[i] <= 'z'):
m = m +s[i-1]
elif (s[i].isupper()):
m = m + s[i].lower()
else:
m = m +'&'
print(m)
Solution
Ans:sELCcME&Cc
(b) The code given below reads the following record from the table
named student and displays only those records who have marks
greater than 75:
RollNo – integer
Name – string
Clas – integer
Marks – integer
Note the following to establish connectivity between Python and MYSQL:
Username is root
Password is tiger
The table exists in a MYSQL database named school.
Write the following missing statements to complete the code:
Statement 1 – to form the cursor object
Statement 2 – to execute the query that extracts records of those students
whose marks are greater than 75.
Statement 3- to read the complete result of the query (records whose marks
are greater than 75) into the object named data, from the table student in
the database.
import mysql.connector as mysql
def sql_data():
con1=mysql.connect(host="localhost",user="root",passwo
rd="tiger", database="school")
mycursor=_______________ #Statement 1
print("Students with marks greater than 75 are : ")
_________________________ #Statement 2
data=__________________ #Statement 3
for i in data:
print(i)
print()
Solution
Ans:Statement 1:
con1.cursor()
Statement 2:
mycursor.execute("select * from student where Marks>75")
Statement 3:
mycursor.fetchall()
Question 33 :
What is the advantage of using a csv file for permanent storage?
Advantage of a csv file:
1.) It is human readable – can be opened in Excel and Notepad applications
2.)It is just like text file
Give any one point of difference between a binary file and a csv file.
Difference between binary file and csv file: (Any one difference may be given)
Binary file:
1. Extension is .dat
2. Not human readable
3. Stores data in the form of 0s and 1s CSV file
1. Extension is .csv
2. Human readable
3. Stores data like a text file
What is the advantage of using a csv file for permanent storage?
Write a Program in Python that defines and calls the following user defined
functions:
a) ADD() – To accept and add data of an employee to a CSV file
‘record.csv’. Each record consists of a list with field elements as
empid, name and mobile to store employee id, employee name and
employee salary respectively.
b) COUNTR() – To count the number of records present in the CSV file
named ‘record.csv’.
Solution
Ans:Advantage of a csv file:
1.) It is human readable – can be opened in Excel and Notepad applications
2.)It is just like text file
Program: import csv def ADD(): fout=open("record.csv","a",newline="\n") wr=csv.writer(fout) empid=int(input("Enter Employee id :: ")) name=input("Enter name :: ") mobile=int(input("Enter mobile number :: ")) lst=[empid,name,mobile] ---------1/2 mark wr.writerow(lst) ---------1/2 mark fout.close() def COUNTR(): fin=open("record.csv","r",newline="\n") data=csv.reader(fin) d=list(data) print(len(d)) fin.close() ADD() COUNTR()
OR
Give any one point of difference between a binary file and a csv file.
Write a Program in Python that defines and calls the following user defined
functions:
a) add() – To accept and add data of an employee to a CSV file
‘furdata.csv’. Each record consists of a list with field elements as fid,
fname and fprice to store furniture id, furniture name and furniture
price respectively.
b) search()- To display the records of the furniture whose price is more
than 10000.
Solution
Ans:Difference between binary file and csv file: (Any one difference may be given)
Binary file:
1. Extension is .dat
2. Not human readable
3. Stores data in the form of 0s and 1s CSV file
1. Extension is .csv
2. Human readable
3. Stores data like a text file
Program: import csv def add(): fout=open("furdata.csv","a",newline='\n') wr=csv.writer(fout) fid=int(input("Enter Furniture Id :: ")) fname=input("Enter Furniture name :: ") fprice=int(input("Enter price :: ")) FD=[fid,fname,fprice] wr.writerow(FD) fout.close() def search(): fin=open("furdata.csv","r",newline='\n') data=csv.reader(fin) found=False print("The Details are") for i in data: if int(i[2])>10000: found=True print(i[0],i[1],i[2]) if found==False: print("Record not found") fin.close() add() print("Now displaying") search()
Section - E
Question 34 :
Navdeep creates a table RESULT with a set of records to maintain the marks
secured by students in Sem 1, Sem2, Sem3 and their division. After creation
of the table, he has entered data of 7 students in the table.
Ans: (ii)
New Degree: 8
New Cardinality: 5
Ans: (iii)
a. INSERT INTO RESULT VALUES (108, ‘Aadit’, 470, 444, 475, ‘I’);
b. UPDATE RESULT SET SEM2=SEM2+ (SEM2*0.03) WHERE SNAME LIKE “N%”;
Ans:(iii) a. DELETE FROM RESULT WHERE DIV=’IV’;
b. ALTER TABLE RESULT ADD (REMARKS VARCHAR(50));
Statement 1:
con1.cursor()
Statement 2:
mycursor.execute(querry)
Statement 3:
con1.commit()
sELCcME&Cc
Statement 1:
con1.cursor()
Statement 2:
mycursor.execute("select * from student where Marks>75")
Statement 3:
mycursor.fetchall()
Navdeep creates a table RESULT with a set of records to maintain the marks
secured by students in Sem 1, Sem2, Sem3 and their division. After creation
of the table, he has entered data of 7 students in the table.
Based on the data given above answer the following questions:
i. Identify the most appropriate column, which can be considered as
Primary key.
ii. If two columns are added and 2 rows are deleted from the table result,
what will be the new degree and cardinality of the above table?
iii. Write the statements to:
a. Insert the following record into the table – Roll No- 108, NameAadit, Sem1- 470, Sem2-444, Sem3-475, Div – I.
b. Increase the SEM2 marks of the students by 3% whose name
begins with ‘N’
OR
iii. Write the statements to:
a. Delete the record of students securing IV division.
b. Add a column REMARKS in the table with datatype as varchar with
50 characters
Solution
Ans: (i) ROLL_NOAns: (ii)
New Degree: 8
New Cardinality: 5
Ans: (iii)
a. INSERT INTO RESULT VALUES (108, ‘Aadit’, 470, 444, 475, ‘I’);
b. UPDATE RESULT SET SEM2=SEM2+ (SEM2*0.03) WHERE SNAME LIKE “N%”;
OR
Ans:(iii) a. DELETE FROM RESULT WHERE DIV=’IV’;
b. ALTER TABLE RESULT ADD (REMARKS VARCHAR(50));
(b) The code given below inserts the following record in the table Student:
RollNo – integer
Name – string
Clas – integer
Marks – integer
Note the following to establish connectivity between Python and MYSQL:
1.Username is root
2.Password is tiger
3.The table exists in a MYSQL database named school.
4.The details (RollNo, Name, Clas and Marks) are to be
accepted from the user.
Write the following missing statements to complete the code:
Statement 1 – to form the cursor object
Statement 2 – to execute the command that inserts the record in the table
Student.
Statement 3- to add the record permanently in the database
import mysql.connector as mysql
def sql_data():
con1=mysql.connect(host="localhost",user="root",
password="tiger", database="school")
mycursor=_________________ #Statement 1
rno=int(input("Enter Roll Number :: "))
name=input("Enter name :: ")
clas=int(input("Enter class :: "))
marks=int(input("Enter Marks :: "))
querry="insert into student
values({},'{}',{},{})".format(rno,name,clas,marks)
______________________ #Statement 2
______________________ # Statement 3
print("Data Added successfully")
Solution
Ans:Statement 1:
con1.cursor()
Statement 2:
mycursor.execute(querry)
Statement 3:
con1.commit()
OR
(a) Predict the output of the code given below:
s="welcome2cs"
n = len(s)
m=""
for i in range(0, n):
if (s[i] >= 'a' and s[i] <= 'm'):
m = m +s[i].upper()
elif (s[i] >= 'n' and s[i] <= 'z'):
m = m +s[i-1]
elif (s[i].isupper()):
m = m + s[i].lower()
else:
m = m +'&'
print(m)
Solution
Ans:sELCcME&Cc
(b) The code given below reads the following record from the table
named student and displays only those records who have marks
greater than 75:
RollNo – integer
Name – string
Clas – integer
Marks – integer
Note the following to establish connectivity between Python and MYSQL:
Username is root
Password is tiger
The table exists in a MYSQL database named school.
Write the following missing statements to complete the code:
Statement 1 – to form the cursor object
Statement 2 – to execute the query that extracts records of those students
whose marks are greater than 75.
Statement 3- to read the complete result of the query (records whose marks
are greater than 75) into the object named data, from the table student in
the database.
import mysql.connector as mysql
def sql_data():
con1=mysql.connect(host="localhost",user="root",passwo
rd="tiger", database="school")
mycursor=_______________ #Statement 1
print("Students with marks greater than 75 are : ")
_________________________ #Statement 2
data=__________________ #Statement 3
for i in data:
print(i)
print()
Solution
Ans:Statement 1:
con1.cursor()
Statement 2:
mycursor.execute("select * from student where Marks>75")
Statement 3:
mycursor.fetchall()
Question 35 :
Aman is a Python programmer. He has written a code and created a binary file
record.dat with employeeid, ename and salary. The file contains 10
records.
Ans:(ii) fout=open(‘temp.dat’, ‘wb’)
Ans: (iii) Statement 3: pickle.load(fin) Statement 4: pickle.dump(rec,fout)
Aman is a Python programmer. He has written a code and created a binary file
record.dat with employeeid, ename and salary. The file contains 10
records.
He now has to update a record based on the employee id entered by the user
and update the salary. The updated record is then to be written in the file
temp.dat. The records which are not to be updated also have to be written
to the file temp.dat. If the employee id is not found, an appropriate message
should to be displayed.
As a Python expert, help him to complete the following code based on the
requirement given above:
import _______ #Statement 1
def update_data():
rec={}
fin=open("record.dat","rb")
fout=open("_____________") #Statement 2
found=False
eid=int(input("Enter employee id to update their salary
:: "))
while True:
try:
rec=______________ #Statement 3
if rec["Employee id"]==eid:
found=True
rec["Salary"]=int(input("Enter new salary ::
"))
pickle.____________ #Statement 4
else:
pickle.dump(rec,fout)
except:
break
if found==True:
print("The salary of employee id ",eid," has been
updated.")
else:
print("No employee with such id is not found")
fin.close()
fout.close()
(i) Which module should be imported in the program? (Statement 1)
(ii)Write the correct statement required to open a temporary file named
temp.dat for writing the updated data. (Statement 2)
(iii) Which statement should Aman fill in Statement 3 to read the data
from the binary file, record.dat and in Statement 4 to write the
updated data in the file, temp.dat?
Solution
Ans:(i) pickleAns:(ii) fout=open(‘temp.dat’, ‘wb’)
Ans: (iii) Statement 3: pickle.load(fin) Statement 4: pickle.dump(rec,fout)