Python Programming
Python Programming
Python Programming
13. What is the average value of the following Python code snippet?
1. >>>grade1 = 80
2. >>>grade2 = 90
3. >>>average = (grade1 + grade2) / 2
a) 85.0
b) 85.1
c) 95.0
d) 95.1
Answer: a
Explanation: Cause a decimal value of 0 to appear as output.
14. Select all options that print.
hello-how-are-you
a) print(‘hello’, ‘how’, ‘are’, ‘you’)
b) print(‘hello’, ‘how’, ‘are’, ‘you’ + ‘-‘ * 4)
c) print(‘hello-‘ + ‘how-are-you’)
d) print(‘hello’ + ‘-‘ + ‘how’ + ‘-‘ + ‘are’ + ‘you’)
Answer: c
Explanation: Execute in the shell.
15. What is the return value of trunc()?
a) int
b) bool
c) float
d) None
Answer: a
Explanation: Execute help(math.trunc) to get details.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Dictionaries”.
1. Which of the following statements create a dictionary?
a) d = {}
b) d = {“john”:40, “peter”:45}
c) d = {40:”john”, 45:”peter”}
d) All of the mentioned
Answer: d
Explanation: Dictionaries are created by specifying keys and values.
2. What will be the output of the following Python code snippet?
1. d = {"john":40, "peter":45}
a) “john”, 40, 45, and “peter”
b) “john” and “peter”
c) 40 and 45
d) d = (40:”john”, 45:”peter”)
Answer: b
Explanation: Dictionaries appear in the form of keys and values.
3. What will be the output of the following Python code snippet?
1. d = {"john":40, "peter":45}
2. "john" in d
a) True
b) False
c) None
d) Error
Answer: a
Explanation: In can be used to check if the key is int dictionary.
4. What will be the output of the following Python code snippet?
1. d1 = {"john":40, "peter":45}
2. d2 = {"john":466, "peter":45}
3. d1 == d2
a) True
b) False
c) None
d) Error
Answer: b
Explanation: If d2 was initialized as d2 = d1 the answer would be true.
5. What will be the output of the following Python code snippet?
1. d1 = {"john":40, "peter":45}
2. d2 = {"john":466, "peter":45}
3. d1 > d2
a) True
b) False
c) Error
d) None
Answer: c
Explanation: Arithmetic > operator cannot be used with dictionaries.
6. What will be the output of the following Python code snippet?
1. d = {"john":40, "peter":45}
2. d["john"]
a) 40
b) 45
c) “john”
d) “peter”
Answer: a
Explanation: Execute in the shell to verify.
7. Suppose d = {“john”:40, “peter”:45}, to delete the entry for “john” what command do we use?
a) d.delete(“john”:40)
b) d.delete(“john”)
c) del d[“john”]
d) del d(“john”:40)
Answer: c
Explanation: Execute in the shell to verify.
8. Suppose d = {“john”:40, “peter”:45}. To obtain the number of entries in dictionary which command do we use?
a) d.size()
b) len(d)
c) size(d)
d) d.len()
Answer: b
Explanation: Execute in the shell to verify.
9. What will be the output of the following Python code snippet?
1. d = {"john":40, "peter":45}
2. print(list(d.keys()))
a) [“john”, “peter”]
b) [“john”:40, “peter”:45]
c) (“john”, “peter”)
d) (“john”:40, “peter”:45)
Answer: a
Explanation: The output of the code shown above is a list containing only keys of the dictionary d, in the form of a list.
10. Suppose d = {“john”:40, “peter”:45}, what happens when we try to retrieve a value using the expression d[“susan”]?
a) Since “susan” is not a value in the set, Python raises a KeyError exception
b) It is executed fine and no exception is raised, and it returns None
c) Since “susan” is not a key in the set, Python raises a KeyError exception
d) Since “susan” is not a key in the set, Python raises a syntax error
Answer: c
Explanation: Execute in the shell to verify.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “files”.
1. To open a file c:\scores.txt for reading, we use _____________
a) infile = open(“c:\scores.txt”, “r”)
b) infile = open(“c:\\scores.txt”, “r”)
c) infile = open(file = “c:\scores.txt”, “r”)
d) infile = open(file = “c:\\scores.txt”, “r”)
Answer: b
Explanation: Execute help(open) to get more details.
2. To open a file c:\scores.txt for writing, we use ____________
a) outfile = open(“c:\scores.txt”, “w”)
b) outfile = open(“c:\\scores.txt”, “w”)
c) outfile = open(file = “c:\scores.txt”, “w”)
d) outfile = open(file = “c:\\scores.txt”, “w”)
Answer: b
Explanation: w is used to indicate that file is to be written to.
3. To open a file c:\scores.txt for appending data, we use ____________
a) outfile = open(“c:\\scores.txt”, “a”)
b) outfile = open(“c:\\scores.txt”, “rw”)
c) outfile = open(file = “c:\scores.txt”, “w”)
d) outfile = open(file = “c:\\scores.txt”, “w”)
Answer: a
Explanation: a is used to indicate that data is to be appended.
4. Which of the following statements are true?
a) When you open a file for reading, if the file does not exist, an error occurs
b) When you open a file for writing, if the file does not exist, a new file is created
c) When you open a file for writing, if the file exists, the existing file is overwritten with the new file
d) All of the mentioned
Answer: d
Explanation: The program will throw an error.
5. To read two characters from a file object infile, we use ____________
a) infile.read(2)
b) infile.read()
c) infile.readline()
d) infile.readlines()
Answer: a
Explanation: Execute in the shell to verify.
6. To read the entire remaining contents of the file as a string from a file object infile, we use ____________
a) infile.read(2)
b) infile.read()
c) infile.readline()
d) infile.readlines()
Answer: b
Explanation: read function is used to read all the lines in a file.
7. What will be the output of the following Python code?
1. f = None
2. for i in range (5):
3. with open("data.txt", "w") as f:
4. if i > 2:
5. break
6. print(f.closed)
a) True
b) False
c) None
d) Error
Answer: a
Explanation: The WITH statement when used with open file guarantees that the file object is closed when the with block exits.
8. To read the next line of the file from a file object infile, we use ____________
a) infile.read(2)
b) infile.read()
c) infile.readline()
d) infile.readlines()
Answer: c
Explanation: Execute in the shell to verify.
9. To read the remaining lines of the file from a file object infile, we use ____________
a) infile.read(2)
b) infile.read()
c) infile.readline()
d) infile.readlines()
Answer: d
Explanation: Execute in the shell to verify.
10. The readlines() method returns ____________
a) str
b) a list of lines
c) a list of single characters
d) a list of integers
Answer: b
Explanation: Every line is stored in a list and returned.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Function – 1”.
1. Which of the following is the use of function in python?
a) Functions are reusable pieces of programs
b) Functions don’t provide better modularity for your application
c) you can’t also create your own functions
d) All of the mentioned
Answer: a
Explanation: Functions are reusable pieces of programs. They allow you to give a name to a block of statements, allowing you to
run that block using the specified name anywhere in your program and any number of times.
2. Which keyword is used for function?
a) Fun
b) Define
c) Def
d) Function
Answer: c
Explanation: None.
3. What will be the output of the following Python code?
1. def sayHello():
2. print('Hello World!')
3. sayHello()
4. sayHello()
a)
Hello World!
Hello World!
b)
'Hello World!'
'Hello World!'
c)
Hello
Hello
d) None of the mentioned
Answer: a
Explanation: Functions are defined using the def keyword. After this keyword comes an identifier name for the function, followed
by a pair of parentheses which may enclose some names of variables, and by the final colon that ends the line. Next follows the
block of statements that are part of this function.
1. def sayHello():
2. print('Hello World!') # block belonging to the function
3. # End of function #
4. sayHello() # call the function
5. sayHello() # call the function again
4. What will be the output of the following Python code?
1. def printMax(a, b):
2. if a > b:
3. print(a, 'is maximum')
4. elif a == b:
5. print(a, 'is equal to', b)
6. else:
7. print(b, 'is maximum')
8. printMax(3, 4)
a) 3
b) 4
c) 4 is maximum
d) None of the mentioned
Answer: c
Explanation: Here, we define a function called printMax that uses two parameters called a and b. We find out the greater number
using a simple if..else statement and then print the bigger number.
5. What will be the output of the following Python code?
1. x = 50
2. def func(x):
3. print('x is', x)
4. x=2
5. print('Changed local x to', x)
6. func(x)
7. print('x is now', x)
a)
x is 50
Changed local x to 2
x is now 50
b)
x is 50
Changed local x to 2
x is now 2
c)
x is 50
Changed local x to 2
x is now 100
d) None of the mentioned
Answer: a
Explanation: The first time that we print the value of the name x with the first line in the function’s body, Python uses the value of
the parameter declared in the main block, above the function definition.
Next, we assign the value 2 to x. The name x is local to our function. So, when we change the value of x in the function, the x
defined in the main block remains unaffected.
With the last print function call, we display the value of x as defined in the main block, thereby confirming that it is actually
unaffected by the local assignment within the previously called function.
6. What will be the output of the following Python code?
1. x = 50
2. def func():
3. global x
4. print('x is', x)
5. x=2
6. print('Changed global x to', x)
7. func()
8. print('Value of x is', x)
a)
x is 50
Changed global x to 2
Value of x is 50
b)
x is 50
Changed global x to 2
Value of x is 2
c)
x is 50
Changed global x to 50
Value of x is 50
d) None of the mentioned
Answer: b
Explanation: The global statement is used to declare that x is a global variable – hence, when we assign a value to x inside the
function, that change is reflected when we use the value of x in the main block.
7. What will be the output of the following Python code?
1. def say(message, times = 1):
2. print(message * times)
3. say('Hello')
4. say('World', 5)
a)
Hello
WorldWorldWorldWorldWorld
b)
Hello
World 5
c)
Hello
World,World,World,World,World
d)
Hello
HelloHelloHelloHelloHello
Answer: a
Explanation: For some functions, you may want to make some parameters optional and use default values in case the user does
not want to provide values for them. This is done with the help of default argument values. You can specify default argument
values for parameters by appending to the parameter name in the function definition the assignment operator (=) followed by the
default value.
The function named say is used to print a string as many times as specified. If we don’t supply a value, then by default, the string
is printed just once. We achieve this by specifying a default argument value of 1 to the parameter times.
In the first usage of say, we supply only the string and it prints the string once. In the second usage of say, we supply both the
string and an argument 5 stating that we want to say the string message 5 times.
6. The function complex(‘2-3j’) is valid but the function complex(‘2 – 3j’) is invalid.
a) True
b) False
Answer: a
Explanation: When converting from a string, the string must not contain any blank spaces around the + or – operator. Hence the
function complex(‘2 – 3j’) will result in an error.
7. What will be the output of the following Python function?
list(enumerate([2, 3]))
a) Error
b) [(1, 2), (2, 3)]
c) [(0, 2), (1, 3)]
d) [(2, 3)]
Answer: c
Explanation: The built-in function enumerate() accepts an iterable as an argument. The function shown in the above case returns
containing pairs of the numbers given, starting from 0. Hence the output will be: [(0, 2), (1,3)].
8. What will be the output of the following Python functions?
x=3
eval('x^2')
a) Error
b) 1
c) 9
d) 6
Answer: b
Explanation: The function eval is use to evaluate the expression that it takes as an argument. In the above case, the eval()
function is used to perform XOR operation between 3 and 2. Hence the output is 1.
9. What will be the output of the following Python functions?
float('1e-003')
float('2e+003')
a)
3.00
300
b)
0.001
2000.0
c)
0.001
200
d)
Error
2003
Answer: b
Explanation: The output of the first function will be 0.001 and that of the second function will be 2000.0. The first function created
a floating point number up to 3 decimal places and the second function adds 3 zeros after the given number.
10. Which of the following functions does not necessarily accept only iterables as arguments?
a) enumerate()
b) all()
c) chr()
d) max()
Answer: c
Explanation: The functions enumerate(), all() and max() accept iterables as arguments whereas the function chr() throws an error
on receiving an iterable as an argument. Also note that the function chr() accepts only integer values.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Built-in Functions – 3”.
1. Which of the following functions accepts only integers as arguments?
a) ord()
b) min()
c) chr()
d) any()
Answer: c
Explanation: The function chr() accepts only integers as arguments. The function ord() accepts only strings. The functions min()
and max() can accept floating point as well as integer arguments.
2. Suppose there is a list such that: l=[2,3,4]. If we want to print this list in reverse order, which of the following methods should be
used?
a) reverse(l)
b) list(reverse[(l)])
c) reversed(l)
d) list(reversed(l))
Answer: d
Explanation: The built-in function reversed() can be used to reverse the elements of a list. This function accepts only an iterable
as an argument. To print the output in the form of a list, we use: list(reversed(l)). The output will be: [4,3,2].
3. What will be the output of the following Python function?
float(' -12345\n')
(Note that the number of blank spaces before the number is 5)
a) -12345.0 (5 blank spaces before the number)
b) -12345.0
c) Error
d) -12345.000000000…. (infinite decimal places)
Answer: b
Explanation: The function float() will remove all the blank spaces and convert the integer to a floating point number. Hence the
output will be: -12345.0.
4. What will be the output of the following Python function?
ord(65)
ord(‘A’)
a)
A
65
b)
Error
65
c)
A
Error
d)
Error
Error
Answer: b
Explanation: The built-in function ord() is used to return the ASCII value of the alphabet passed to it as an argument. Hence the
first function results in an error and the output of the second function is 65.
6. Which of the following functions will not result in an error when no arguments are passed to it?
a) min()
b) divmod()
c) all()
d) float()
Answer: d
Explanation: The built-in functions min(), max(), divmod(), ord(), any(), all() etc throw an error when no arguments are passed to
them. However there are some built-in functions like float(), complex() etc which do not throw an error when no arguments are
passed to them. The output of float() is 0.0.
7. What will be the output of the following Python function?
hex(15)
a) f
b) 0xF
c) 0Xf
d) 0xf
Answer: d
Explanation: The function hex() is used to convert the given argument into its hexadecimal representation, in lower case. Hence
the output of the function hex(15) is 0xf.
8. Which of the following functions does not throw an error?
a) ord()
b) ord(‘ ‘)
c) ord(”)
d) ord(“”)
Answer: b
Explanation: The function ord() accepts a character. Hence ord(), ord(”) and ord(“”) throw errors. However the function ord(‘ ‘)
does not throw an error because in this case, we are actually passing a blank space as an argument. The output of ord(‘ ‘) is 32
(ASCII value corresponding to blank space).
9. What will be the output of the following Python function?
len(["hello",2, 4, 6])
a) 4
b) 3
c) Error
d) 6
Answer: a
Explanation: The function len() returns the length of the number of elements in the iterable. Therefore the output of the function
shown above is 4.
10. What will be the output of the following Python function?
oct(7)
oct(‘7’)
a)
Error
07
b)
0o7
Error
c)
0o7
Error
d)
07
0o7
Answer: c
Explanation: The function oct() is used to convert its argument into octal form. This function does not accept strings. Hence the
second function results in an error while the output of the first function is 0o7.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Classes and Objects – 1”.
1. _____ represents an entity in the real world with its identity and behaviour.
a) A method
b) An object
c) A class
d) An operator
Answer: b
Explanation: An object represents an entity in the real world that can be distinctly identified. A class may define an object.
2. _____ is used to create an object.
a) class
b) constructor
c) User-defined functions
d) In-built functions
Answer: b
Explanation: The values assigned by the constructor to the class members is used to create the object.
3. What will be the output of the following Python code?
class test:
def __init__(self,a="Hello World"):
self.a=a
def display(self):
print(self.a)
obj=test()
obj.display()
a) The program has an error because constructor can’t have default arguments
b) Nothing is displayed
c) “Hello World” is displayed
d) The program has an error display function doesn’t have parameters
Answer: c
Explanation: The program has no error. “Hello World” is displayed. Execute in python shell to verify.
4. What is setattr() used for?
a) To access the attribute of the object
b) To set an attribute
c) To check if an attribute exists or not
d) To delete an attribute
Answer: b
Explanation: setattr(obj,name,value) is used to set an attribute. If attribute doesn’t exist, then it would be created.
5. What is getattr() used for?
a) To access the attribute of the object
b) To delete an attribute
c) To check if an attribute exists or not
d) To set an attribute
Answer: a
Explanation: getattr(obj,name) is used to get the attribute of an object.
6. What will be the output of the following Python code?
class change:
def __init__(self, x, y, z):
self.a = x + y + z
x = change(1,2,3)
y = getattr(x, 'a')
setattr(x, 'a', y+1)
print(x.a)
a) 6
b) 7
c) Error
d) 0
Answer: b
Explanation: First, a=1+2+3=6. Then, after setattr() is invoked, x.a=6+1=7.
7. What will be the output of the following Python code?
class test:
def __init__(self,a):
self.a=a
def display(self):
print(self.a)
obj=test()
obj.display()
a) Runs normally, doesn’t display anything
b) Displays 0, which is the automatic default value
c) Error as one argument is required while creating the object
d) Error as display function requires additional argument
Answer: c
Explanation: Since, the __init__ special method has another argument a other than self, during object creation, one argument is
required. For example: obj=test(“Hello”)
8. Is the following Python code correct?
>>> class A:
def __init__(self,b):
self.b=b
def display(self):
print(self.b)
>>> obj=A("Hello")
>>> del obj
a) True
b) False
Answer: a
Explanation: It is possible to delete an object of the class. On further typing obj in the python shell, it throws an error because the
defined object has now been deleted.
9. What will be the output of the following Python code?
class test:
def __init__(self):
self.variable = 'Old'
self.Change(self.variable)
def Change(self, var):
var = 'New'
obj=test()
print(obj.variable)
a) Error because function change can’t be called in the __init__ function
b) ‘New’ is printed
c) ‘Old’ is printed
d) Nothing is printed
Answer: c
Explanation: This is because strings are immutable. Hence any change made isn’t reflected in the original string.
10. What is Instantiation in terms of OOP terminology?
a) Deleting an instance of class
b) Modifying an instance of class
c) Copying an instance of class
d) Creating an instance of class
Answer: d
Explanation: Instantiation refers to creating an object/instance for a class.
11. What will be the output of the following Python code?
class fruits:
def __init__(self, price):
self.price = price
obj=fruits(50)
obj.quantity=10
obj.bags=2
print(obj.quantity+len(obj.__dict__))
a) 12
b) 52
c) 13
d) 60
Answer: c
Explanation: In the above code, obj.quantity has been initialised to 10. There are a total of three items in the dictionary, price,
quantity and bags. Hence, len(obj.__dict__) is 3.
12. What will be the output of the following Python code?
class Demo:
def __init__(self):
pass
def test(self):
print(__name__)
obj = Demo()
obj.test()
a) Exception is thrown
b) __main__
c) Demo
d) test
Answer: b
Explanation: Since the above code is being run not as a result of an import from another module, the variable will have value
“__main__”.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Classes and Objects – 2”.
1. The assignment of more than one function to a particular operator is _______
a) Operator over-assignment
b) Operator overriding
c) Operator overloading
d) Operator instance
Answer: c
Explanation: The assignment of more than one function to a particular operator is called as operator overloading.
2. Which of the following is not a class method?
a) Non-static
b) Static
c) Bounded
d) Unbounded
Answer: a
Explanation: The three different class methods in Python are static, bounded and unbounded methods.
3. What will be the output of the following Python code?
def add(c,k):
c.test=c.test+1
k=k+1
class A:
def __init__(self):
self.test = 0
def main():
Count=A()
k=0
for i in range(0,25):
add(Count,k)
print("Count.test=", Count.test)
print("k =", k)
main()
a) Exception is thrown
b)
Count.test=25
k=25
c)
Count.test=25
k=0
d)
Count.test=0
k=0
Answer: c
Explanation: The program has no error. Here, test is a member of the class while k isn’t. Hence test keeps getting incremented
25 time while k remains 0.
num(3)
a)
1
2
3
The time taken for the execution of the code
b)
3
The time taken for the execution of the code
c)
1
2
3
UTC time
d)
3
UTC time
Answer: a
Explanation: The code shown above will return the numbers 1, 2, 3, followed by the time taken in the execution of the code.
Output:
1
2
3
The time taken for the execution of the code
def display(self):
return self.__b
obj = Demo()
print(obj.a)
a) The program has an error because there isn’t any function to return self.a
b) The program has an error because b is private and display(self) is returning a private member
c) The program runs fine and 1 is printed
d) The program has an error as you can’t name a class member using __b
Answer: c
Explanation: The program has no error because the class member which is public is printed. 1 is displayed. Execute in python
shell to verify.
4. What will be the output of the following Python code?
class Demo:
def __init__(self):
self.a = 1
self.__b = 1
def display(self):
return self.__b
obj = Demo()
print(obj.__b)
a) The program has an error because there isn’t any function to return self.a
b) The program has an error because b is private and display(self) is returning a private member
c) The program has an error because b is private and hence can’t be printed
d) The program runs fine and 1 is printed
Answer: c
Explanation: Variables beginning with two underscores are said to be private members of the class and they can’t be accessed
directly.
5. Methods of a class that provide access to private members of the class are called as ______ and ______
a) getters/setters
b) __repr__/__str__
c) user-defined functions/in-built functions
d) __init__/__del__
Answer: a
Explanation: The purpose of getters and setters is to get(return) and set(assign) private instance variables of a class.
6. Which of these is a private data field?
def Demo:
def __init__(self):
__a = 1
self.__b = 1
self.__c__ = 1
__d__= 1
a) __a
b) __b
c) __c__
d) __d__
Answer: b
Explanation: Variables such as self.__b are private members of the class.
7. What will be the output of the following Python code?
class Demo:
def __init__(self):
self.a = 1
self.__b = 1
def get(self):
return self.__b
obj = Demo()
print(obj.get())
a) The program has an error because there isn’t any function to return self.a
b) The program has an error because b is private and display(self) is returning a private member
c) The program has an error because b is private and hence can’t be printed
d) The program runs fine and 1 is printed
Answer: d
Explanation: Here, get(self) is a member of the class. Hence, it can even return a private member of the class. Because of this
reason, the program runs fine and 1 is printed.
8. What will be the output of the following Python code?
class Demo:
def __init__(self):
self.a = 1
self.__b = 1
def get(self):
return self.__b
obj = Demo()
obj.a=45
print(obj.a)
a) The program runs properly and prints 45
b) The program has an error because the value of members of a class can’t be changed from outside the class
c) The program runs properly and prints 1
d) The program has an error because the value of members outside a class can only be changed as self.a=45
Answer: a
Explanation: It is possible to change the values of public class members using the object of the class.
9. Private members of a class cannot be accessed.
a) True
b) False
Answer: b
Explanation: Private members of a class are accessible if written as follows: obj._Classname__privatemember. Such renaming
of identifiers is called as name mangling.
10. The purpose of name mangling is to avoid unintentional access of private class members.
a) True
b) False
Answer: a
Explanation: Name mangling prevents unintentional access of private members of a class, while still allowing access when
needed. Unless the variable is accessed with its mangled name, it will not be found.
11. What will be the output of the following Python code?
class fruits:
def __init__(self):
self.price = 100
self.__bags = 5
def display(self):
print(self.__bags)
obj=fruits()
obj.display()
a) The program has an error because display() is trying to print a private class member
b) The program runs fine but nothing is printed
c) The program runs fine and 5 is printed
d) The program has an error because display() can’t be accessed
Answer: c
Explanation: Private class members can be printed by methods which are members of the class.
12. What will be the output of the following Python code?
class student:
def __init__(self):
self.marks = 97
self.__cgpa = 8.7
def display(self):
print(self.marks)
obj=student()
print(obj._student__cgpa)
a) The program runs fine and 8.7 is printed
b) Error because private class members can’t be accessed
c) Error because the proper syntax for name mangling hasn’t been implemented
d) The program runs fine but nothing is printed
Answer: a
Explanation: Name mangling has been properly implemented in the code given above and hence the program runs properly.
13. Which of the following is false about protected class members?
a) They begin with one underscore
b) They can be accessed by subclasses
c) They can be accessed by name mangling method
d) They can be accessed within a class
Answer: c
Explanation: Protected class members can’t be accessed by name mangling.
14. What will be the output of the following Python code?
class objects:
def __init__(self):
self.colour = None
self._shape = "Circle"
CODE 2
num=int(input("Enter a number of whose factorial you want to find"))
print(math.factorial(num))
a) ValueError, NameError
b) AttributeError, ValueError
c) NameError, TypeError
d) TypeError, ValueError
Answer: a
Explanation: The first code results in a ValueError. This is because when we enter the input as -6, we are trying to find the
factorial of a negative number, which is not possible. The second code results in a NameError. This is because we have not
imported the math module. Hence the name ‘math’ is undefined.
7. What will be the output of the following Python code?
def getMonth(m):
if m<1 or m>12:
raise ValueError("Invalid")
print(m)
getMonth(6)
a) ValueError
b) Invalid
c) 6
d) ValueError(“Invalid”)
Answer: c
Explanation: In the code shown above, since the value passed as an argument to the function is between 1 and 12 (both
included), hence the output is the value itself, that is 6. If the value had been above 12 and less than 1, a ValueError would have
been thrown.
8. What will be the output of the following Python code if the input entered is 6?
valid = False
while not valid:
try:
n=int(input("Enter a number"))
while n%2==0:
print("Bye")
valid = True
except ValueError:
print("Invalid")
a) Bye (printed once)
b) No output
c) Invalid (printed once)
d) Bye (printed infinite number of times)
Answer: d
Explanation: The code shown above results in the word “Bye” being printed infinite number of times. This is because an even
number has been given as input. If an odd number had been given as input, then there would have been no output.
9. Identify the type of error in the following Python codes?
Print(“Good Morning”)
print(“Good night)
a) Syntax, Syntax
b) Semantic, Syntax
c) Semantic, Semantic
d) Syntax, Semantic
Answer: b
Explanation: The first code shows an error detected during execution. This might occur occasionally. The second line of code
represents a syntax error. When there is deviation from the rules of a language, a syntax error is thrown.
10. Which of the following statements is true?
a) The standard exceptions are automatically imported into Python programs
b) All raised standard exceptions must be handled in Python
c) When there is a deviation from the rules of a programming language, a semantic error is thrown
d) If any exception is thrown in try block, else block is executed
Answer: a
Explanation: When any exception is thrown in try block, except block is executed. If exception in not thrown in try block, else block
is executed. When there is a deviation from the rules of a programming language, a syntax error is thrown. The only true
statement above is: The standard exceptions are automatically imported into Python programs.
11. Which of the following is not a standard exception in Python?
a) NameError
b) IOError
c) AssignmentError
d) ValueError
Answer: c
Explanation: NameError, IOError and ValueError are standard exceptions in Python whereas Assignment error is not a standard
exception in Python.
12. Syntax errors are also known as parsing errors.
a) True
b) False
Answer: a
Explanation: Syntax errors are known as parsing errors. Syntax errors are raised when there is a deviation from the rules of a
language. Hence the statement is true.
13. An exception is ____________
a) an object
b) a special function
c) a standard module
d) a module
Answer: a
Explanation: An exception is an object that is raised by a function signaling that an unexpected situation has occurred, that the
function itself cannot handle.
14. _______________________ exceptions are raised as a result of an error in opening a particular file.
a) ValueError
b) TypeError
c) ImportError
d) IOError
Answer: d
Explanation: IOError exceptions are raised as a result of an error in opening or closing a particular file.
15. Which of the following blocks will be executed whether an exception is thrown or not?
a) except
b) else
c) finally
d) assert
Answer: c
Explanation: The statements in the finally block will always be executed, whether an exception is thrown or not. This clause is
used to close the resources used in a code.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Exception Handling – 1”.
1. How many except statements can a try-except block have?
a) zero
b) one
c) more than one
d) more than zero
Answer: d
Explanation: There has to be at least one except statement.
2. When will the else part of try-except-else be executed?
a) always
b) when an exception occurs
c) when no exception occurs
d) when an exception occurs in to except block
Answer: c
Explanation: The else part is executed when no exception occurs.
3. Is the following Python code valid?
try:
# Do something
except:
# Do something
finally:
# Do something
a) no, there is no such thing as finally
b) no, finally cannot be used with except
c) no, finally must come before except
d) yes
Answer: b
Explanation: Refer documentation.
4. Is the following Python code valid?
try:
# Do something
except:
# Do something
else:
# Do something
a) no, there is no such thing as else
b) no, else cannot be used with except
c) no, else must come before except
d) yes
Answer: d
Explanation: Refer documentation.
5. Can one block of except statements handle multiple exception?
a) yes, like except TypeError, SyntaxError [,…]
b) yes, like except [TypeError, SyntaxError]
c) no
d) none of the mentioned
Answer: a
Explanation: Each type of exception can be specified directly. There is no need to put it in a list.
6. When is the finally block executed?
a) when there is no exception
b) when there is an exception
c) only if some condition that has been specified is satisfied
d) always
Answer: d
Explanation: The finally block is always executed.
7. What will be the output of the following Python code?
def foo():
try:
return 1
finally:
return 2
k = foo()
print(k)
a) 1
b) 2
c) 3
d) error, there is more than one return statement in a single try-finally block
Answer: b
Explanation: The finally block is executed even there is a return statement in the try block.
8. What will be the output of the following Python code?
def foo():
try:
print(1)
finally:
print(2)
foo()
a) 1 2
b) 1
c) 2
d) none of the mentioned
Answer: a
Explanation: No error occurs in the try block so 1 is printed. Then the finally block is executed and 2 is printed.
9. What will be the output of the following Python code?
try:
if '1' != 1:
raise "someError"
else:
print("someError has not occurred")
except "someError":
print ("someError has occurred")
a) someError has occurred
b) someError has not occurred
c) invalid code
d) none of the mentioned
Answer: c
Explanation: A new exception class must inherit from a BaseException. There is no such inheritance here.
10. What happens when ‘1’ == 1 is executed?
a) we get a True
b) we get a False
c) an TypeError occurs
d) a ValueError occurs
Answer: b
Explanation: It simply evaluates to False and does not raise any exception.
This set of Python Questions and Answers for Experienced people focuses on “While and For Loops”.
1. What will be the output of the following Python code?
for i in range(2.0):
print(i)
a) 0.0 1.0
b) 0 1
c) error
d) none of the mentioned
Answer: c
Explanation: Object of type float cannot be interpreted as an integer.
2. What will be the output of the following Python code?
for i in range(int(2.0)):
print(i)
a) 0.0 1.0
b) 0 1
c) error
d) none of the mentioned
Answer: b
Explanation: range(int(2.0)) is the same as range(2).
3. What will be the output of the following Python code?
for i in range(float('inf')):
print (i)
a) 0.0 0.1 0.2 0.3 …
b) 0 1 2 3 …
c) 0.0 1.0 2.0 3.0 …
d) none of the mentioned
Answer: d
Explanation: Error, objects of type float cannot be interpreted as an integer.
4. What will be the output of the following Python code?
for i in range(int(float('inf'))):
print (i)
a) 0.0 0.1 0.2 0.3 …
b) 0 1 2 3 …
c) 0.0 1.0 2.0 3.0 …
d) none of the mentioned
Answer: d
Explanation: OverflowError, cannot convert float infinity to integer.
5. What will be the output of the following Python code snippet?
for i in [1, 2, 3, 4][::-1]:
print (i)
a) 1 2 3 4
b) 4 3 2 1
c) error
d) none of the mentioned
Answer: b
Explanation: [::-1] reverses the list.
6. What will be the output of the following Python code snippet?
for i in ''.join(reversed(list('abcd'))):
print (i)
a) a b c d
b) d c b a
c) error
d) none of the mentioned
Answer: b
Explanation: ‘ ‘.join(reversed(list(‘abcd’))) reverses a string.
7. What will be the output of the following Python code snippet?
for i in 'abcd'[::-1]:
print (i)
a) a b c d
b) d c b a
c) error
d) none of the mentioned
Answer: b
Explanation: [::-1] reverses the string.
8. What will be the output of the following Python code snippet?
for i in '':
print (i)
a) None
b) (nothing is printed)
c) error
d) none of the mentioned
Answer: b
Explanation: The string does not have any character to loop over.
9. What will be the output of the following Python code snippet?
x=2
for i in range(x):
x += 1
print (x)
a) 0 1 2 3 4 …
b) 0 1
c) 3 4
d) 0 1 2 3
Answer: c
Explanation: Variable x is incremented and printed twice.
10. What will be the output of the following Python code snippet?
x=2
for i in range(x):
x -= 2
print (x)
a) 0 1 2 3 4 …
b) 0 -2
c) 0
d) error
Answer: b
Explanation: The loop is entered twice.
To practice all questions on Python for experienced people, .
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Formatting – 1”.
1. What will be the output of the following Python code snippet?
X=”hi”
print(“05d”%X)
a) 00000hi
b) 000hi
c) hi000
d) error
Answer: d
Explanation: The code snippet shown above results in an error because the above formatting option works only if ‘X’ is a
number. Since in the above case ‘X’ is a string, an error is thrown.
2. What will be the output of the following Python code snippet?
X=”san-foundry”
print(“%56s”,X)
a) 56 blank spaces before san-foundry
b) 56 blank spaces before san and foundry
c) 56 blank spaces after san-foundry
d) no change
Answer: a
Explanation: The formatting option print(“%Ns”,X) helps us add ‘N’ number of spaces before a given string ‘X’. Hence the output
for the code snippet shown above will be 56 blank spaces before the string “san-foundry”.
3. What will be the output of the following Python expression if x=456?
print("%-06d"%x)
a) 000456
b) 456000
c) 456
d) error
Answer: c
Explanation: The expression shown above results in the output 456.
4. What will be the output of the following Python expression if X=345?
print(“%06d”%X)
a) 345000
b) 000345
c) 000000345
d) 345000000
Answer: b
Explanation: The above expression returns the output 000345. It adds the required number of zeroes before the given number in
order to make the number of digits 6 (as specified in this case).
5. Which of the following formatting options can be used in order to add ‘n’ blank spaces after a given string ‘S’?
a) print(“-ns”%S)
b) print(“-ns”%S)
c) print(“%ns”%S)
d) print(“%-ns”%S)
Answer: d
Explanation: In order to add ‘n’ blank spaces after a given string ‘S’, we use the formatting option:(“%-ns”%S).
6. What will be the output of the following Python expression if X = -122?
print("-%06d"%x)
a) -000122
b) 000122
c) –00122
d) -00122
Answer: c
Explanation: The given number is -122. Here the total number of digits (including the negative sign) should be 6 according to the
expression. In addition to this, there is a negative sign in the given expression. Hence the output will be – -00122.
7. What will be the output of the following Python expression if the value of x is 34?
print(“%f”%x)
a) 34.00
b) 34.0000
c) 34.000000
d) 34.00000000
Answer: c
Explanation: The expression shown above normally returns the value with 6 decimal points if it is not specified with any number.
Hence the output of this expression will be: 34.000000 (6 decimal points).
8. What will be the output of the following Python expression if x=56.236?
print("%.2f"%x)
a) 56.00
b) 56.24
c) 56.23
d) 0056.236
Answer: b
Explanation: The expression shown above rounds off the given number to the number of decimal places specified. Since the
expression given specifies rounding off to two decimal places, the output of this expression will be 56.24. Had the value been
x=56.234 (last digit being any number less than 5), the output would have been 56.23.
9. What will be the output of the following Python expression if x=22.19?
print("%5.2f"%x)
a) 22.1900
b) 22.00000
c) 22.19
d) 22.20
Answer: c
Explanation: The output of the expression above will be 22.19. This expression specifies that the total number of digits (including
the decimal point) should be 5, rounded off to two decimal places.
10. The expression shown below results in an error.
print("-%5d0",989)
a) True
b) False
Answer: b
Explanation: The expression shown above does not result in an error. The output of this expression is -%5d0 989. Hence this
statement is incorrect.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Formatting – 2”.
1. What will be the output of the following Python code snippet?
'%d %s %g you' %(1, 'hello', 4.0)
a) Error
b) 1 hello you 4.0
c) 1 hello 4 you
d) 1 4 hello you
Answer: c
Explanation: In the snippet of code shown above, three values are inserted into the target string. When we insert more than one
value, we should group the values on the right in a tuple. The % formatting expression operator expects either a single item or a
tuple of one or more items on its right side.
2. The output of which of the codes shown below will be: “There are 4 blue birds.”?
a) ‘There are %g %d birds.’ %4 %blue
b) ‘There are %d %s birds.’ %(4, blue)
c) ‘There are %s %d birds.’ %[4, blue]
d) ‘There are %d %s birds.’ 4, blue
Answer: b
Explanation: The code ‘There are %d %s birds.’ %(4, blue) results in the output: There are 4 blue birds. When we insert more
than one value, we should group the values on the right in a tuple.
3. What will be the output of the python code shown below for various styles of format specifiers?
x=1234
res='integers:...%d...%-6d...%06d' %(x, x, x)
res
a) ‘integers:…1234…1234 …001234’
b) ‘integers…1234…1234…123400’
c) ‘integers:… 1234…1234…001234’
d) ‘integers:…1234…1234…001234’
Answer: a
Explanation: The code shown above prints 1234 for the format specified %d, ‘1234 ’ for the format specifier %-6d (minus ‘-‘
sign signifies left justification), and 001234 for the format specifier %06d. Hence the output of this code is: ‘integers:…1234…
1234 …001234’
4. What will be the output of the following Python code snippet?
x=3.3456789
'%f | %e | %g' %(x, x, x)
a) Error
b) ‘3.3456789 | 3.3456789+00 | 3.345678’
c) ‘3.345678 | 3.345678e+0 | 3.345678’
d) ‘3.345679 | 3.345679e+00 | 3.34568’
Answer: d
Explanation: The %f %e and %g format specifiers represent floating point numbers in different ways. %e and %E are the same,
except that the exponent is in lowercase. %g chooses the format by number content. Hence the output of this code is: ‘3.345679
| 3.345679e+00 | 3.34568’.
5. What will be the output of the following Python code snippet?
x=3.3456789
'%-6.2f | %05.2f | %+06.1f' %(x, x, x)
a) ‘3.35 | 03.35 | +003.3’
b) ‘3.3456789 | 03.3456789 | +03.3456789’
c) Error
d) ‘3.34 | 03.34 | 03.34+’
Answer: a
Explanation: The code shown above rounds the floating point value to two decimal places. In this code, a variety of addition
formatting features such as zero padding, total field width etc. Hence the output of this code is: ‘3.35 | 03.35 | +003.3’.
6. What will be the output of the following Python code snippet?
x=3.3456789
'%s' %x, str(x)
a) Error
b) (‘3.3456789’, ‘3.3456789’)
c) (3.3456789, 3.3456789)
d) (‘3.3456789’, 3.3456789)
Answer: b
Explanation: We can simply convert strings with a %s format expression or the str built-in function. Both of these methods have
been shown in this code. Hence the output is: ) (‘3.3456789’, ‘3.3456789’)
7. What will be the output of the following Python code snippet?
'%(qty)d more %(food)s' %{'qty':1, 'food': 'spam'}
a) Error
b) No output
c) ‘1 more foods’
d) ‘1 more spam’
Answer: d
Explanation: String formatting also allows conversion targets on the left to refer to the keys in a dictionary coded on the right and
fetch the corresponding values. In the code shown above, (qty) and (food) in the format string on the left refers to keys in the
dictionary literal on the right and fetch their assorted values. Hence the output of the code shown above is: 1 more spam.
8. What will be the output of the following Python code snippet?
a='hello'
q=10
vars()
a) {‘a’ : ‘hello’, ‘q’ : 10, ……..plus built-in names set by Python….}
b) {……Built in names set by Python……}
c) {‘a’ : ‘hello’, ‘q’ : 10}
d) Error
Answer: a
Explanation: The built in function vars() returns a dictionary containing all the variables that exist in the place. Hence the output of
the code shown above is: {‘a’ : ‘hello’, ‘q’ : 10, ……..plus built-in names set by Python….}
9. What will be the output of the following Python code?
s='{0}, {1}, and {2}'
s.format('hello', 'good', 'morning')
a) ‘hello good and morning’
b) ‘hello, good, morning’
c) ‘hello, good, and morning’
d) Error
Answer: c
Explanation: Within the subject string, curly braces designate substitution targets and arguments to be inserted either by position
or keyword. Hence the output of the code shown above:’hello, good,and morning’.
10. What will be the output of the following Python code?
s='%s, %s & %s'
s%('mumbai', 'kolkata', 'delhi')
a) mumbai kolkata & delhi
b) Error
c) No output
d) ‘mumbai, kolkata & delhi’
Answer: d
Explanation: In the code shown above, the format specifier %s is replaced by the designated substitution. Hence the output of
the code shown above is: ‘mumbai, kolkata & delhi’.
11. What will be the output of the following Python code?
t = '%(a)s, %(b)s, %(c)s'
t % dict(a='hello', b='world', c='universe')
a) ‘hello, world, universe’
b) ‘hellos, worlds, universes’
c) Error
d) hellos, world, universe
Answer: a
Explanation: Within the subject string, curly braces represent substitution targets and arguments to be inserted. Hence the output
of the code shown above:
‘hello, world, universe’.
12. What will be the output of the following Python code?
'{a}, {0}, {abc}'.format(10, a=2.5, abc=[1, 2])
a) Error
b) ‘2.5, 10, [1, 2]’
c) 2.5, 10, 1, 2
d) ’10, 2.5, [1, 2]’
Answer: b
Explanation: Since we have specified that the order of the output be: {a}, {0}, {abc}, hence the value of associated with {a} is
printed first followed by that of {0} and {abc}. Hence the output of the code shown above is: ‘2.5, 10, [1, 2]’.
13. What will be the output of the following Python code?
'{0:.2f}'.format(1.234)
a) ‘1’
b) ‘1.234’
c) ‘1.23’
d) ‘1.2’
Answer: c
Explanation: The code shown above displays the string method to round off a given decimal number to two decimal places.
Hence the output of the code is: ‘1.23’.
14. What will be the output of the following Python code?
'%x %d' %(255, 255)
a) ‘ff, 255’
b) ‘255, 255’
c) ‘15f, 15f’
d) Error
Answer: a
Explanation: The code shown above converts the given arguments to hexadecimal and decimal values and prints the result. This
is done using the format specifiers %x and %d respectively. Hence the output of the code shown above is: ‘ff, 255’.
15. The output of the two codes shown below is the same.
i. '{0:.2f}'.format(1/3.0)
ii. '%.2f'%(1/3.0)
a) True
b) False
Answer: a
Explanation: The two codes shown above represent the same operation but in different formats. The output of both of these
functions is: ‘0.33’. Hence the statement is true.
This set of Python Questions and Answers for Freshers focuses on “While and For Loops”.
1. What will be the output of the following Python code?
x = 123
for i in x:
print(i)
a) 1 2 3
b) 123
c) error
d) none of the mentioned
Answer: c
Explanation: Objects of type int are not iterable.
2. What will be the output of the following Python code?
d = {0: 'a', 1: 'b', 2: 'c'}
for i in d:
print(i)
a) 0 1 2
b) a b c
c) 0 a 1 b 2 c
d) none of the mentioned
Answer: a
Explanation: Loops over the keys of the dictionary.
3. What will be the output of the following Python code?
d = {0: 'a', 1: 'b', 2: 'c'}
for x, y in d:
print(x, y)
a) 0 1 2
b) a b c
c) 0 a 1 b 2 c
d) none of the mentioned
Answer: d
Explanation: Error, objects of type int aren’t iterable.
4. What will be the output of the following Python code?
d = {0: 'a', 1: 'b', 2: 'c'}
for x, y in d.items():
print(x, y)
a) 0 1 2
b) a b c
c) 0 a 1 b 2 c
d) none of the mentioned
Answer: c
Explanation: Loops over key, value pairs.
5. What will be the output of the following Python code?
d = {0: 'a', 1: 'b', 2: 'c'}
for x in d.keys():
print(d[x])
a) 0 1 2
b) a b c
c) 0 a 1 b 2 c
d) none of the mentioned
Answer: b
Explanation: Loops over the keys and prints the values.
6. What will be the output of the following Python code?
d = {0: 'a', 1: 'b', 2: 'c'}
for x in d.values():
print(x)
a) 0 1 2
b) a b c
c) 0 a 1 b 2 c
d) none of the mentioned
Answer: b
Explanation: Loops over the values.
7. What will be the output of the following Python code?
d = {0: 'a', 1: 'b', 2: 'c'}
for x in d.values():
print(d[x])
a) 0 1 2
b) a b c
c) 0 a 1 b 2 c
d) none of the mentioned
Answer: d
Explanation: Causes a KeyError.
8. What will be the output of the following Python code?
d = {0, 1, 2}
for x in d.values():
print(x)
a) 0 1 2
b) None None None
c) error
d) none of the mentioned
Answer: c
Explanation: Objects of type set have no attribute values.
9. What will be the output of the following Python code?
d = {0, 1, 2}
for x in d:
print(x)
a) 0 1 2
b) {0, 1, 2} {0, 1, 2} {0, 1, 2}
c) error
d) none of the mentioned
Answer: a
Explanation: Loops over the elements of the set and prints them.
10. What will be the output of the following Python code?
d = {0, 1, 2}
for x in d:
print(d.add(x))
a) 0 1 2
b) 0 1 2 0 1 2 0 1 2 …
c) None None None
d) None of the mentioned
Answer: c
Explanation: Variable x takes the values 0, 1 and 2. set.add() returns None which is printed.
11. What will be the output of the following Python code?
for i in range(0):
print(i)
a) 0
b) no output
c) error
d) none of the mentioned
Answer: b
Explanation: range(0) is empty.
To practice all questions on Python for freshers, .
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Function – 4”.
1. What is a variable defined outside a function referred to as?
a) A static variable
b) A global variable
c) A local variable
d) An automatic variable
Answer: b
Explanation: The value of a variable defined outside all function definitions is referred to as a global variable and can be used by
multiple functions of the program.
2. What is a variable defined inside a function referred to as?
a) A global variable
b) A volatile variable
c) A local variable
d) An automatic variable
Answer: c
Explanation: The variable inside a function is called as local variable and the variable definition is confined only to that function.
3. What will be the output of the following Python code?
i=0
def change(i):
i=i+1
return i
change(1)
print(i)
a) 1
b) Nothing is displayed
c) 0
d) An exception is thrown
Answer: c
Explanation: Any change made in to an immutable data type in a function isn’t reflected outside the function.
4. What will be the output of the following Python code?
def a(b):
b = b + [5]
c = [1, 2, 3, 4]
a(c)
print(len(c))
a) 4
b) 5
c) 1
d) An exception is thrown
Answer: b
Explanation: Since a list is mutable, any change made in the list in the function is reflected outside the function.
5. What will be the output of the following Python code?
a=10
b=20
def change():
global b
a=45
b=56
change()
print(a)
print(b)
a)
10
56
b)
45
56
c)
10
20
d) Syntax Error
Answer: a
Explanation: The statement “global b” allows the global value of b to be accessed and changed. Whereas the variable a is local
and hence the change isn’t reflected outside the function.
6. What will be the output of the following Python code?
def change(i = 1, j = 2):
i=i+j
j=j+1
print(i, j)
change(j = 1, i = 2)
a) An exception is thrown because of conflicting values
b) 1 2
c) 3 3
d) 3 2
Answer: d
Explanation: The values given during function call is taken into consideration, that is, i=2 and j=1.
7. What will be the output of the following Python code?
def change(one, *two):
print(type(two))
change(1,2,3,4)
a) Integer
b) Tuple
c) Dictionary
d) An exception is thrown
Answer: b
Explanation: The parameter two is a variable parameter and consists of (2,3,4). Hence the data type is tuple.
8. If a function doesn’t have a return statement, which of the following does the function return?
a) int
b) null
c) None
d) An exception is thrown without the return statement
Answer: c
Explanation: A function can exist without a return statement and returns None if the function doesn’t have a return statement.
9. What will be the output of the following Python code?
def display(b, n):
while n > 0:
print(b,end="")
n=n-1
display('z',3)
a) zzz
b) zz
c) An exception is executed
d) Infinite loop
Answer: a
Explanation: The loop runs three times and ‘z’ is printed each time.
10. What will be the output of the following Python code?
def find(a, **b):
print(type(b))
find('letters',A='1',B='2')
a) String
b) Tuple
c) Dictionary
d) An exception is thrown
Answer: c
Explanation: b combines the remaining parameters into a dictionary.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Functional Programming Tools”.
1. What will be the output of the following Python code?
odd=lambda x: bool(x%2)
numbers=[n for n in range(10)]
print(numbers)
n=list()
for i in numbers:
if odd(i):
continue
else:
break
a) [0, 2, 4, 6, 8, 10]
b) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
c) [1, 3, 5, 7, 9]
d) Error
Answer: b
Explanation: The code shown above returns a new list containing whole numbers up to 10 (excluding 10). Hence the output of the
code is: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9].
2. What will be the output of the following Python code?
f=lambda x:bool(x%2)
print(f(20), f(21))
a) False True
b) False False
c) True True
d) True False
Answer: a
Explanation: The code shown above will return true if the given argument is an odd number, and false if the given argument is an
even number. Since the arguments are 20 and 21 respectively, the output of this code is: False True.
3. What will be the output of the following Python code?
import functools
l=[1,2,3,4]
print(functools.reduce(lambda x,y:x*y,l))
a) Error
b) 10
c) 24
d) No output
Answer: c
Explanation: The code shown above returns the product of all the elements of the list. Hence the output is 1*2*3*4 = 24.
4. What will be the output of the following Python code?
l=[1, -2, -3, 4, 5]
def f1(x):
return x<2
m1=filter(f1, l)
print(list(m1))
a) [1, 4, 5 ]
b) Error
c) [-2, -3]
d) [1, -2, -3]
Answer: d
Explanation: The code shown above returns only those elements from the list, which are less than 2. The functional programming
tool used to achieve this operation is filter. Hence the output of the code is:[1, -2, -3].
5. What will be the output of the following Python code?
l=[-2, 4]
m=map(lambda x:x*2, l)
print(m)
a) [-4, 16]
b) Address of m
c) Error
d)
-4
16
Answer: b
Explanation: The code shown above returns the address of m. Had we used the statement: print(list(m)), the output would have
been: [-4, 16].
def two(self):
return 'A'
class B(A):
def two(self):
return 'B'
obj1=A()
obj2=B()
print(obj1.two(),obj2.two())
a) A A
b) A B
c) B B
d) An exception is thrown
Answer: b
Explanation: obj1.two() invokes the method two() in class A which returns ‘A’ and obj2.two() invokes the method two() in class B
which returns ‘B’.
15. What type of inheritance is illustrated in the following Python code?
class A():
pass
class B():
pass
class C(A,B):
pass
a) Multi-level inheritance
b) Multiple inheritance
c) Hierarchical inheritance
d) Single-level inheritance
Answer: b
Explanation: In multiple inheritance, two or more subclasses are derived from the superclass as shown in the above piece of
code.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Inheritance – 2”.
1. What type of inheritance is illustrated in the following Python code?
class A():
pass
class B(A):
pass
class C(B):
pass
a) Multi-level inheritance
b) Multiple inheritance
c) Hierarchical inheritance
d) Single-level inheritance
Answer: a
Explanation: In multi-level inheritance, a subclass derives from another class which itself is derived from another class.
2. What does single-level inheritance mean?
a) A subclass derives from a class which in turn derives from another class
b) A single superclass inherits from multiple subclasses
c) A single subclass derives from a single superclass
d) Multiple base classes inherit a single derived class
Answer: c
Explanation: In single-level inheritance, there is a single subclass which inherits from a single superclass. So the class definition
of the subclass will be: class B(A): where A is the superclass.
3. What will be the output of the following Python code?
class A:
def __init__(self):
self.__i = 1
self.j = 5
def display(self):
print(self.__i, self.j)
class B(A):
def __init__(self):
super().__init__()
self.__i = 2
self.j = 7
c = B()
c.display()
a) 2 7
b) 1 5
c) 1 7
d) 2 5
Answer: c
Explanation: Any change made in variable i isn’t reflected as it is the private member of the superclass.
4. Which of the following statements isn’t true?
a) A non-private method in a superclass can be overridden
b) A derived class is a subset of superclass
c) The value of a private variable in the superclass can be changed in the subclass
d) When invoking the constructor from a subclass, the constructor of superclass is automatically invoked
Answer: c
Explanation: If the value of a private variable in a superclass is changed in the subclass, the change isn’t reflected.
5. What will be the output of the following Python code?
class A:
def __init__(self,x):
self.x = x
def count(self,x):
self.x = self.x+1
class B(A):
def __init__(self, y=0):
A.__init__(self, 3)
self.y = y
def count(self):
self.y += 1
def main():
obj = B()
obj.count()
print(obj.x, obj.y)
main()
a) 3 0
b) 3 1
c) 0 1
d) An exception in thrown
Answer: b
Explanation: Initially x=3 and y=0. When obj.count() is called, y=1.
6. What will be the output of the following Python code?
>>> class A:
pass
>>> class B(A):
pass
>>> obj=B()
>>> isinstance(obj,A)
a) True
b) False
c) Wrong syntax for isinstance() method
d) Invalid method for classes
Answer: a
Explanation: isinstance(obj,class) returns True if obj is an object class.
7. Which of the following statements is true?
a) The __new__() method automatically invokes the __init__ method
b) The __init__ method is defined in the object class
c) The __eq(other) method is defined in the object class
d) The __repr__() method is defined in the object class
Answer: c
Explanation: The __eq(other) method is called if any comparison takes place and it is defined in the object class.
8. Method issubclass() checks if a class is a subclass of another class.
a) True
b) False
Answer: a
Explanation: Method issubclass() returns True if a class is a subclass of another class and False otherwise.
9. What will be the output of the following Python code?
class A:
def __init__(self):
self.__x = 1
class B(A):
def display(self):
print(self.__x)
def main():
obj = B()
obj.display()
main()
a) 1
b) 0
c) Error, invalid syntax for object declaration
d) Error, private class member can’t be accessed in a subclass
Answer: d
Explanation: Private class members in the superclass can’t be accessed in the subclass.
10. What will be the output of the following Python code?
class A:
def __init__(self):
self._x = 5
class B(A):
def display(self):
print(self._x)
def main():
obj = B()
obj.display()
main()
a) Error, invalid syntax for object declaration
b) Nothing is printed
c) 5
d) Error, private class member can’t be accessed in a subclass
Answer: c
Explanation: The class member x is protected, not private and hence can be accessed by subclasses.
11. What will be the output of the following Python code?
class A:
def __init__(self,x=3):
self._x = x
class B(A):
def __init__(self):
super().__init__(5)
def display(self):
print(self._x)
def main():
obj = B()
obj.display()
main()
a) 5
b) Error, class member x has two values
c) 3
d) Error, protected class member can’t be accessed in a subclass
Answer: a
Explanation: The super() method re-assigns the variable x with value 5. Hence 5 is printed.
12. What will be the output of the following Python code?
class A:
def test1(self):
print(" test of A called ")
class B(A):
def test(self):
print(" test of B called ")
class C(A):
def test(self):
print(" test of C called ")
class D(B,C):
def test2(self):
print(" test of D called ")
obj=D()
obj.test()
a)
test of B called
test of C called
b)
test of C called
test of B called
c) test of B called
d) Error, both the classes from which D derives has same method test()
Answer: c
Explanation: Execute in Python shell to verify. If class D(B,C): is switched is class D(C,B): test of C is called.
13. What will be the output of the following Python code?
class A:
def test(self):
print("test of A called")
class B(A):
def test(self):
print("test of B called")
super().test()
class C(A):
def test(self):
print("test of C called")
super().test()
class D(B,C):
def test2(self):
print("test of D called")
obj=D()
obj.test()
a)
test of B called
test of C called
test of A called
b)
test of C called
test of B called
c)
test of B called
test of C called
d) Error, all the three classes from which D derives has same method test()
Answer: a
Explanation: Since the invoking method, super().test() is called in the subclasses, all the three methods of test() in three different
classes is called.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “List Comprehension – 1”.
1. What will be the output of the following Python code?
l=[1,2,3,4,5]
[x&1 for x in l]
a) [1, 1, 1, 1, 1]
b) [1, 0, 1, 0, 1]
c) [1, 0, 0, 0, 0]
d) [0, 1, 0, 1, 0]
Answer: b
Explanation: In the code shown above, each of the numbers of the list, that is, 1, 2, 3, 4 and 5 are AND-ed with 1 and the result is
printed in the form of a list. Hence the output is [1, 0, 1, 0, 1].
2. What will be the output of the following Python code?
l1=[1,2,3]
l2=[4,5,6]
[x*y for x in l1 for y in l2]
a) [4, 8, 12, 5, 10, 15, 6, 12, 18]
b) [4, 10, 18]
c) [4, 5, 6, 8, 10, 12, 12, 15, 18]
d) [18, 12, 6, 15, 10, 5, 12, 8, 4]
Answer: c
Explanation: The code shown above returns x*y, where x belongs to the list l1 and y belongs to the list l2. Therefore, the output is:
[4, 5, 6, 8, 10, 12, 12, 15, 18].
3. Write the list comprehension to pick out only negative integers from a given list ‘l’.
a) [x<0 in l]
b) [x for x<0 in l]
c) [x in l for x<0]
d) [x for x in l if x<0]
Answer: d
Explanation: To pick out only the negative numbers from a given list ‘l’, the correct list comprehension statement would be: [x for x
in l if x<0].
main()
a) 11
b) 2
c) 1
d) An exception is thrown
Answer: b
Explanation: The derived class method change() overrides the base class method.
6. A class in which one or more methods are only implemented to raise an exception is called an abstract class.
a) True
b) False
Answer: a
Explanation: A class in which one or more methods are unimplemented or implemented for the methods throw an exception is
called an abstract class.
7. Overriding means changing behaviour of methods of derived class methods in the base class.
a) True
b) False
Answer: b
Explanation: Overriding means if there are two same methods present in the superclass and the subclass, the contents of the
subclass method are executed.
8. What will be the output of the following Python code?
class A:
def __repr__(self):
return "1"
class B(A):
def __repr__(self):
return "2"
class C(B):
def __repr__(self):
return "3"
o1 = A()
o2 = B()
o3 = C()
print(obj1, obj2, obj3)
a) 1 1 1
b) 1 2 3
c) ‘1’ ‘1’ ‘1’
d) An exception is thrown
Answer: b
Explanation: When different objects are invoked, each of the individual classes return their individual values and hence it is
printed.
9. What will be the output of the following Python code?
class A:
def __init__(self):
self.multiply(15)
print(self.i)
print(fun(45))
a) 50
b) 100
c) 74
d) Infinite loop
Answer: b
Explanation: The fun(fun(n+11)) part of the code keeps executing until the value of n becomes greater than 100, after which n-5 is
returned and printed.
11. Recursion and iteration are the same programming approach.
a) True
b) False
Answer: b
Explanation: In recursion, the function calls itself till the base condition is reached whereas iteration means repetition of process
for example in for-loops.
12. What happens if the base condition isn’t defined in recursive programs?
a) Program gets into an infinite loop
b) Program runs once
c) Program runs n number of times where n is the argument given to the function
d) An exception is thrown
Answer: a
Explanation: The program will run until the system gets out of memory.
13. Which of these is not true about recursion?
a) Making the code look clean
b) A complex task can be broken into sub-problems
c) Recursive calls take up less memory
d) Sequence generation is easier than a nested iteration
Answer: c
Explanation: Recursive calls take up a lot of memory and time as memory is taken up each time the function is called.
14. Which of these is not true about recursion?
a) It’s easier to code some real-world problems using recursion than non-recursive equivalent
b) Recursive functions are easy to debug
c) Recursive calls take up a lot of memory
d) Programs using recursion take longer time than their non-recursive equivalent
Answer: b
Explanation: Recursive functions may be hard to debug as the logic behind recursion may be hard to follow.
15. What will be the output of the following Python code?
def a(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return a(n-1)+a(n-2)
for i in range(0,4):
print(a(i),end=" ")
a) 0 1 2 3
b) An exception is thrown
c) 0 1 1 2 3
d) 0 1 1 2
Answer: d
Explanation: The above piece of code prints the Fibonacci series.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Regular Expressions – 1”.
1. The character Dot (that is, ‘.’) in the default mode, matches any character other than _____________
a) caret
b) ampersand
c) percentage symbol
d) newline
Answer: d
Explanation: The character Dot (that is, ‘,’) in the default mode, matches any character other than newline. If DOTALL flag is
used, then it matches any character other than newline.
2. The expression a{5} will match _____________ characters with the previous regular expression.
a) 5 or less
b) exactly 5
c) 5 or more
d) exactly 4
Answer: b
Explanation: The character {m} is used to match exactly m characters to the previous regular expression. Hence the expression
a{5} will match exactly 5 characters and not less than that.
3. ________ matches the start of the string.
________ matches the end of the string.
a) ‘^’, ‘$’
b) ‘$’, ‘^’
c) ‘$’, ‘?’
d) ‘?’, ‘^’
Answer: a
Explanation: ‘^’ (carat) matches the start of the string.
‘$’ (dollar sign) matches the end of the string.
4. Which of the following will result in an error?
a)
>>> p = re.compile("d")
>>> p.search("door")
b) >>> p = re.escape(‘hello’)
c) >>> p = re.subn()
d) >>> p = re.purge()
Answer: c
Explanation: The function re.subn() will result in an error. This is because subn() requires 3 positional arguments while we have
entered none.
5. What will be the output of the following Python code?
re.split('\W+', 'Hello, hello, hello.')
a) [‘Hello’, ‘hello’, ‘hello.’]
b) [‘Hello, ‘hello’, ‘hello’]
c) [‘Hello’, ‘hello’, ‘hello’, ‘.’]
d) [‘Hello’, ‘hello’, ‘hello’, ”]
Answer: d
Explanation: In the code shown above, the function split() splits the string based on the pattern given as an argument in the
parenthesis. Note: split will never split a string on an empty pattern match. Hence the output of this code is: [‘Hello’, ‘hello’, ‘hello’,
”].
6. What will be the output of the following Python function?
re.findall("hello world", "hello", 1)
a) [“hello”]
b) [ ]
c) hello
d) hello world
Answer: b
Explanation: The function findall returns the word matched if and only if both the pattern and the string match completely, that is,
they are exactly the same. Observe the example shown below:
>>> re.findall(“hello”, “hello”, 1) The output is: [‘hello’] Hence the output of the code shown in this question is [].
7. Choose the function whose output can be: <_sre.SRE_Match object; span=(4, 8), match=’aaaa’>.
a) >>> re.search(‘aaaa’, “alohaaaa”, 0)
b) >>> re.match(‘aaaa’, “alohaaaa”, 0)
c) >>> re.match(‘aaa’, “alohaaa”, 0)
d) >>> re.search(‘aaa’, “alohaaa”, 0)
Answer: a
Explanation: The output shown above is that of a search function, whose pattern is ‘aaaa’ and the string is that of 8 characters.
The only option which matches all these criteria is:
>>> re.search(‘aaaa’, “alohaaaa”, 0)
8. Which of the following functions clears the regular expression cache?
a) re.sub()
b) re.pos()
c) re.purge()
d) re.subn()
Answer: c
Explanation: The function which clears the regular expression cache is re.purge(). Note that this function takes zero positional
arguments.
9. What will be the output of the following Python code?
import re
re.ASCII
a) 8
b) 32
c) 64
d) 256
Answer: d
Explanation: The expression re.ASCII returns the total number of ASCII characters that are present, that is 256. This can also be
abbreviated as re.A, which results in the same output (that is, 256).
10. Which of the following functions results in case insensitive matching?
a) re.A
b) re.U
c) re.I
d) re.X
Answer: c
Explanation: The function re.I (that is, re.IGNORECASE) results in case-insensitive matching. That is, expressions such as [A-Z]
will match lowercase characters too.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Regular Expressions – 2”.
1. What will be the output of the following Python code?
re.compile('hello', re.X)
a) [‘h’, ‘e’, ‘l’, ‘l’, ‘o’]
b) re.compile(‘hello’, re.VERBOSE)
c) Error
d) Junk value
Answer: b
Explanation: The compile function compiles a pattern of regular expression into an object of regular expression. Re.X is a flag
which is also used as re.VERBOSE. Hence the output of this code is: re.compile(‘hello’, re.VERBOSE).
2. What will be the output of the following Python code?
re.split('[a-c]', '0a3B6', re.I)
a) Error
b) [‘a’, ‘B’]
c) [‘0’, ‘3B6’]
d) [‘a’]
Answer: c
Explanation: The function re.split() splits the string on the basis of the pattern given in the parenthesis. Since we have used the
flag e.I (that is, re.IGNORECASE), the output is: [‘0’, ‘3B6’].
3. What will be the output of the following Python code?
re.sub('morning', 'evening', 'good morning')
a) ‘good evening’
b) ‘good’
c) ‘morning’
d) ‘evening’
Answer: a
Explanation: The code shown above first searches for the pattern ‘morning’ in the string ‘good morning’ and then replaces this
pattern with ‘evening’. Hence the output of this code is: ‘good evening’.
4. The function re.error raises an exception if a particular string contains no match for the given pattern.
a) True
b) False
Answer: b
Explanation: The function re.error raises an exception when a string passed to one of its functions here is not a valid regular
expression. It does not raise an exception if a particular string does not contain a match for the given pattern.
5. What will be the output of the following Python code?
re.escape('new**world')
a) ‘new world’
b) ‘new\\*\\*world’
c) ‘**’
d) ‘new’, ‘*’, ‘*’, ‘world’
Answer: b
Explanation: The function re.escape escapes all the characters in the pattern other than ASCII letters and numbers. Hence the
output of the code shown above is: ‘new\\*\\*world’.
6. What will be the output of the following Python code?
re.fullmatch('hello', 'hello world')
a) No output
b) []
c) <_sre.SRE_Match object; span=(0, 5), match='hello'>
d) Error
Answer: a
Explanation: The function re.fullmatch applies the pattern to the entire string and returns an object if match is found and none if
match in not found. In the code shown above, match is not found. Hence there is no output.
7. Choose the option wherein the two choices do not refer to the same option.
a)
re.I
re.IGNORECASE
b)
re.M
re.MULTILINE
c)
re.X
re.VERBOSE
d)
re.L
re.LOWERCASE
Answer: d
Explanation: The function re.L is also written as re.LOCALE. There is no function such as re.LOWERCASE in the re module of
Python.
8. The difference between the functions re.sub and re.subn is that re.sub returns a _______________ whereas re.subn returns a
__________________
a) string, list
b) list, tuple
c) string, tuple
d) tuple, list
Answer: c
Explanation: The difference the functions re.sub and re.subn is that re.sub returns a string whereas re.subn returns a tuple.
9. What will be the output of the following Python code?
re.split('mum', 'mumbai*', 1)
a) Error
b) [”, ‘bai*’]
c) [”, ‘bai’]
d) [‘bai*’]
Answer: b
Explanation: The code shown above splits the string based on the pattern given as an argument. Hence the output of the code is:
[”, ‘bai*’].
10. What will be the output of the following Python code?
re.findall('good', 'good is good')
re.findall('good', 'bad is good')
a)
[‘good’, ‘good’]
[‘good’]
b)
(‘good’, ‘good’)
(good)
c)
(‘good’)
(‘good’)
d)
[‘good’]
[‘good’]
Answer: a
Explanation: The function findall returns a list of all the non overlapping matches in a string. Hence the output of the first function
is: [‘good’, ‘good’] and that of the second function is: [‘good’].
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Regular Expressions – 3”.
1. What will be the output of the following Python code?
re.split(r'(n\d)=', 'n1=3.1, n2=5, n3=4.565')
a) Error
b) [”, ‘n1’, ‘3.1, ‘, ‘n2’, ‘5, ‘, ‘n3’, ‘4.565’]
c) [‘n1’, ‘3.1, ‘, ‘n2’, ‘5, ‘, ‘n3’, ‘4.565’]
d) [‘3.1, ‘, ‘5, ‘, ‘4.565’]
Answer: b
Explanation: In the snippet of code shown above, we extract the numbers as a list of floating point values, including the initial
empty string. The example shown above demonstrate how groups in the regular expression influence the result of re.split. Hence
the output of the code shown above is:
[”, ‘n1’, ‘3.1, ‘, ‘n2’, ‘5, ‘, ‘n3’, ‘4.565’].
2. The function of re.search is __________
a) Matches a pattern at the start of the string
b) Matches a pattern at the end of the string
c) Matches a pattern from any part of a string
d) Such a function does not exist
Answer: c
Explanation: The re module of Python consists of a function re.search. It’s function is to match a pattern from anywhere in a
string.
3. Which of the following functions creates a Python object?
a) re.compile(str)
b) re.assemble(str)
c) re.regex(str)
d) re.create(str)
Answer: a
Explanation: The function re.compile(srt) compiles a pattern of regular expression into an object of regular expression. Hence
re.compile(str) is the only function from the above options which creates an object.
4. Which of the following pattern matching modifiers permits whitespace and comments inside the regular expression?
a) re.L
b) re.S
c) re.U
d) re.X
Answer: d
Explanation: The modifier re.X allows whitespace and comments inside the regular expressions.
5. What will be the output of the following Python code?
s = 'welcome home'
m = re.match(r'(.*)(.*?)', s)
print(m.group())
a) (‘welcome’, ‘home’)
b) [‘welcome’, ‘home’]
c) welcome home
d) [‘welcome’ // ‘home’ ]
Answer: c
Explanation: The code shown above shows the function re.match combined with the use of special characters. Hence the output
of this code is: welcome home.
6. The function of re.match is ____________
a) Error
b) Matches a pattern anywhere in the string
c) Matches a pattern at the end of the string
d) Matches a pattern at the start of the string
Answer: d
Explanation: The function of re.match matches a pattern at the start of the string.
7. The special character \B matches the empty string, but only when it is _____________
a) at the beginning or end of a word
b) not at the beginning or end of a word
c) at the beginning of the word
d) at the end of the word
Answer: b
Explanation: The special character \B matches the empty string, but only when it is not at the beginning or end of a word.
8. What will be the output of the following Python code?
import re
s = "A new day"
m = re.match(r'(.*)(.*?)', s)
print(m.group(2))
print(m.group(0))
a)
No output
A new day
b)
No output
No output
c)
[‘A’, ‘new’, ‘day’]
(‘A’, ‘new’, ‘day’)
d)
Error
[‘A’, ‘new’, ‘day’]
Answer: a
Explanation: The code shown above demonstrates the use of the function re.match, with different arguments given to the group
method. Hence the first function does not return any output whereas the second function returns the output: A new day
9. Which of the following special characters matches a pattern only at the end of the string?
a) \B
b) \X
c) \Z
d) \A
Answer: c
Explanation: \B matches a pattern which is not at the beginning or end of a string. \X refers to re.VERBOSE. \A matches a
pattern only at the start of a string. \Z matches a pattern only at the end of a string.
10. The output of the following two Python codes are the same.
p = re.compile('hello')
r = p.match('hello everyone')
print(r.group(0))
10. What will be the output of the following Python code snippet?
l=[1, 2, 4, 5, 2, 'xy', 4]
set(l)
l
a)
{1, 2, 4, 5, 2, ‘xy’, 4}
[1, 2, 4, 5, 2, ‘xy’, 4]
b)
{1, 2, 4, 5, ‘xy’}
[1, 2, 4, 5, 2, ‘xy’, 4]
c)
{1, 5, ‘xy’}
[1, 5, ‘xy’]
d)
{1, 2, 4, 5, ‘xy’}
[1, 2, 4, 5, ‘xy’]
Answer: b
Explanation: In the code shown above, the function set(l) converts the given list into a set. When this happens, all the duplicates
are automatically removed. Hence the output is: {1, 2, 4, 5, ‘xy’}. On the other hand, the list l remains unchanged. Therefore the
output is: [1, 2, 4, 5, 2, ‘xy’, 4].
Note that the order of the elements may not be the same.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Sets – 5”.
1. What will be the output of the following Python code?
s1={3, 4}
s2={1, 2}
s3=set()
i=0
j=0
for i in s1:
for j in s2:
s3.add((i,j))
i+=1
j+=1
print(s3)
a) {(3, 4), (1, 2)}
b) Error
c) {(4, 2), (3, 1), (4, 1), (5, 2)}
d) {(3, 1), (4, 2)}
Answer: c
Explanation: The code shown above finds the Cartesian product of the two sets, s1 and s2. The Cartesian product of these two
sets is stored in a third set, that is, s3. Hence the output of this code is: {(4, 2), (3, 1), (4, 1), (5, 2)}.
2. The ____________ function removes the first element of a set and the last element of a list.
a) remove
b) pop
c) discard
d) dispose
Answer: b
Explanation: The function pop removes the first element when used on a set and the last element when used to a list.
3. The difference between the functions discard and remove is that:
a) Discard removes the last element of the set whereas remove removes the first element of the set
b) Discard throws an error if the specified element is not present in the set whereas remove does not throw an error in case of
absence of the specified element
c) Remove removes the last element of the set whereas discard removes the first element of the set
d) Remove throws an error if the specified element is not present in the set whereas discard does not throw an error in case of
absence of the specified element
Answer: d
Explanation: The function remove removes the element if it is present in the set. If the element is not present, it throws an error.
The function discard removes the element if it is present in the set. If the element is not present, no action is performed (Error is
not thrown).
4. What will be the output of the following Python code?
s1={1, 2, 3}
s2={3, 4, 5, 6}
s1.difference(s2)
s2.difference(s1)
a)
{1, 2}
{4, 5, 6}
b)
{1, 2}
{1, 2}
c)
{4, 5, 6}
{1, 2}
d)
{4, 5, 6}
{4, 5, 6}
Answer: a
Explanation: The function s1.difference(s2) returns a set containing the elements which are present in the set s1 but not in the set
s2. Similarly, the function s2.difference(s1) returns a set containing elements which are present in the set s2 but not in the set s1.
Hence the output of the code shown above will be:
{1, 2}
{4, 5, 6}.
6. If we have two sets, s1 and s2, and we want to check if all the elements of s1 are present in s2 or not, we can use the function:
a) s2.issubset(s1)
b) s2.issuperset(s1)
c) s1.issuperset(s2)
d) s1.isset(s2)
Answer: b
Explanation: Since we are checking whether all the elements present in the set s1 are present in the set s2. This means that s1
is the subset and s1 is the superset. Hence the function to be used is: s2.issuperset(s1). This operation can also be performed
by the function: s1.issubset(s2).
7. What will be the output of the following Python code?
s1={1, 2, 3, 8}
s2={3, 4, 5, 6}
s1|s2
s1.union(s2)
a)
{3}
{1, 2, 3, 4, 5, 6, 8}
b)
{1, 2, 4, 5, 6, 8}
{1, 2, 4, 5, 6, 8}
c)
{3}
{3}
d)
{1, 2, 3, 4, 5, 6, 8}
{1, 2, 3, 4, 5, 6, 8}
Answer: d
Explanation: The function s1|s2 as well as the function s1.union(s2) returns a union of the two sets s1 and s2. Hence the output of
both of these functions is: {1, 2, 3, 4, 5, 6, 8}.
9. What will be the output of the following Python code, if s1= {1, 2, 3}?
s1.issubset(s1)
a) True
b) Error
c) No output
d) False
Answer: a
Explanation: Every set is a subset of itself and hence the output of this line of code is true.
10. What will be the output of the following Python code?
x=set('abcde')
y=set('xyzbd')
x.difference_update(y)
x
y
a)
{‘a’, ‘b’, ‘c’, ‘d’, ‘e’}
{‘x’, ‘y’, ‘z’}
b)
{‘a’, ‘c’, ‘e’}
{‘x’, ‘y’, ‘z’, ‘b’, ‘d’}
c)
{‘b’, ‘d’}
{‘b’, ‘d’}
d)
{‘a’, ‘c’, ‘e’}
{‘x’, ‘y’, ‘z’}
Answer: b
Explanation: The function x.difference_update(y) removes all the elements of the set y from the set x. Hence the output of the
code is:
{‘a’, ‘c’, ‘e’}
{‘x’, ‘y’, ‘z’, ‘b’, ‘d’}.
Participate in the Sanfoundry Certification to get free Certificate of Merit. Join our social networks below and stay updated with
latest contests, videos, internships and jobs!
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Shallow copy vs Deep copy”.
1. Which type of copy is shown in the following python code?
l1=[[10, 20], [30, 40], [50, 60]]
ls=list(l1)
ls
[[10, 20], [30, 40], [50, 60]]
a) Shallow copy
b) Deep copy
c) memberwise
d) All of the mentioned
Answer: a
Explanation: The code shown above depicts shallow copy. For deep copy, the command given is: l2 = l1.copy().
2. What will be the output of the following Python code?
l=[2, 3, [4, 5]]
l2=l.copy()
l2[0]=88
l
l2
a)
[88, 2, 3, [4, 5]]
[88, 2, 3, [4, 5]]
b)
[2, 3, [4, 5]]
[88, 2, 3, [4, 5]]
c)
[88, 2, 3, [4, 5]]
[2, 3, [4, 5]]
d)
[2, 3, [4, 5]]
[2, 3, [4, 5]]
Answer: b
Explanation: The code shown above depicts deep copy. In deep copy, the base address of the objects is not copied. Hence the
modification done on one list does not affect the other list.
3. In _______________ copy, the base address of the objects are copied. In _______________ copy, the base address of the
objects are not copied.
a) deep. shallow
b) memberwise, shallow
c) shallow, deep
d) deep, memberwise
Answer: c
Explanation: In shallow copy, the base address of the objects are copied.
In deep copy, the base address of the objects are not copied.
Note that memberwise copy is another name for shallow copy.
4. The nested list undergoes shallow copy even when the list as a whole undergoes deep copy.
a) True
b) False
Answer: a
Explanation: A nested list undergoes shallow copy even when the list as a whole undergoes deep copy. Hence, this statement is
true.
5. What will be the output of the following Python code and state the type of copy that is depicted?
l1=[2, 4, 6, 8]
l2=[1, 2, 3]
l1=l2
l2
a) [2, 4, 6, 8], shallow copy
b) [2, 4, 6, 8], deep copy
c) [1, 2, 3], shallow copy
d) [1, 2, 3], deep copy
Answer: c
Explanation: The code shown above depicts shallow copy and the output of the code is: [1, 2, 3].
6. What will be the output of the following Python code?
l1=[10, 20, 30]
l2=l1
id(l1)==id(l2)
l2=l1.copy()
id(l1)==id(l2)
a) False, False
b) False, True
c) True, True
d) True, False
Answer: d
Explanation: The first code shown above represents shallow copy. Hence the output of the expression id(l1)==id(l2) is True. The
second code depicts deep copy. Hence the output of the expression id(l1)==id(l2) in the second case is False.
7. What will be the output of the following Python code?
l1=[1, 2, 3, [4]]
l2=list(l1)
id(l1)==id(l2)
a) True
b) False
c) Error
d) Address of l1
Answer: b
Explanation: The code shown above shows a nested list. A nested list will undergo shallow copy when the list as a whole
undergoes deep copy. Hence the output of this code is False.
8. What will be the output of the following Python code?
l1=[10, 20, 30, [40]]
l2=copy.deepcopy(l1)
l1[3][0]=90
l1
l2
a)
[10, 20, 30, [40]]
[10, 20, 30, 90]
b) Error
c)
[10, 20, 30 [90]]
[10, 20, 30, [40]]
d)
[10, 20, 30, [40]]
[10, 20, 30, [90]]
Answer: c
Explanation: The code shown above depicts deep copy. Hence at the end of the code, l1=[10, 20, 30, [90]] and l2=[10, 20, 30,
[40]].
9. In ____________________ copy, the modification done on one list affects the other list. In ____________________ copy,
the modification done on one list does not affect the other list.
a) shallow, deep
b) memberwise, shallow
c) deep, shallow
d) deep, memberwise
Answer: a
Explanation: In shallow copy, the modification done on one list affects the other list. In deep copy, the modification done on one
list does not affect the other list.
10. What will be the output of the following Python code?
l1=[1, 2, 3, (4)]
l2=l1.copy()
l2
l1
a)
[1, 2, 3, (4)]
[1, 2, 3, 4]
b)
[1, 2, 3, 4]
[1, 2, 3, (4)]
c)
[1, 2, 3, 4]
[1, 2, 3, 4]
d)
[1, 2, 3, (4)]
[1, 2, 3, (4)]
Answer: c
Explanation: In the code shown above, the list l1 is enclosed in a tuple. When we print this list, it is printed as [1, 2, 3, 4]. Note the
absence of the tuple. The code shown depicts deep copy. Hence the output of this program is: l1=[1, 2, 3, 4] and l2=[1, 2, 3, 4].
t.penup()
t.left(90)
t.forward(200)
for i in range(0,4):
t.forward(100)
t.left(90)
a) Error
b) 1 square
c) 2 squares, at a separation of100 units, joined by a straight line
d) 2 squares, at a separation of 100 units, without a line joining them
Answer: b
Explanation: The output of the code shown above will be a single square. This is because the function t.penup() is used to lift the
pen after the construction of the first square. However, the function t.pendown() has not been used to put the pen back down.
Hence, the output shape of this code is one square, of side 100 units.
7. Which of the following functions does not accept any arguments?
a) position
b) fillcolor
c) goto
d) setheading()
Answer: a
Explanation: The functions fillcolor(), goto() and setheading() accept arguments, whereas the function position() does not accept
any arguments. The function position() returns the current position of the turtle.
8. What will be the output of the following Python code?
import turtle
t=turtle.Pen()
t.goto(300,9)
t.position()
a) 300.00, 9.00
b) 9, 300
c) 300, 9
d) 9.00, 300.00
Answer: a
Explanation: The goto functions takes the arrow to the position specified by the user as arguments. The position function returns
the current position of the arrow. Hence the output of the code shown above will be: 300.00, 9.00.
9. What will be the output of the following Python code?
import turtle
t=turtle.Pen()
for i in range(0,5):
t.left(144)
t.forward(100)
a) Trapezium
b) Parallelepiped
c) Tetrahedron
d) Star
Answer: d
Explanation: It is clear from the above code that 5 lines will be drawn on the canvas, at an angle of 144 degrees. The only shape
which fits this description is star. Hence the output of the code shown above is star.
10. What will be the output of the following Python functions?
import turtle
t=turtle.Pen()
for i in range(0,3):
t.forward(100)
t.left(120)
t.back(100)
for i in range(0,3):
t.forward(100)
t.left(120)
a) Error
b) Two triangles, joined by a straight line
c) Two triangles, joined at one vertex
d) Two separate triangles, not connected by a line
Answer: c
Explanation: The output of the code shown above is two equilateral triangles (of side 100 units), joined at the vertex.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Turtle Module – 2”.
1. What will be the output of the following Python code?
import turtle
t=turtle.Pen()
t.color(0,0,1)
t.begin_fill()
t.circle(15)
t.end_fill()
a) Error
b) A circle filled in with the colour red
c) A circle filled in with the colour blue
d) A circle filled in with the colour green
Answer: c
Explanation: The function t.colour(0, 0, 1) is used to fill in the colour blue into any given shape. Hence the output of the code
shown above will be a circle filled in with the colour blue.
2. Which of the following functions can be used to make the arrow black?
a) turtle.color(0,1,0)
b) turtle.color(1,0,0)
c) turtle.color(0,0,1)
d) turtle.color(0,0,0)
Answer: d
Explanation: The function turtle.color(0,0,0) can change the colour of the arrow. The function turtle.color(0,1,0) will make the arrow
green. The function turtle.color(1,0,0) will make the arrow red. The function turtle.color(0,0,1) will make the arrow blue. The
function turtle.color(0,0,0) will make the arrow black.
3. What will be the output of the following Python code?
import turtle
t=turtle.Pen()
t.color(1,1,1)
t.begin_fill()
for i in range(0,3):
t.forward(100)
t.right(120)
t.end_fill()
a) Blank page
b) A triangle filled in with the colour yellow
c) A triangle which is not filled in with any colour
d) Error
Answer: a
Explanation: The code shown above will result in a blank page. This is because the command turtle.color(1,1,1) eliminates the
arrow from the page. Hence all the commands after this command are ineffective.
4. What will be the output of the following Python code?
import turtle
t=turtle.Pen()
t.color(0,1,0)
t.begin_fill()
for i in range(0,4):
t.forward(100)
t.right(90)
a) A square filled in with the colour green
b) A square outlined with the colour green
c) Blank canvas
d) Error
Answer: c
Explanation: The output shape of the code shown above is a square, outlined with the colour green, but not filled in with any
colour. This is because we have not used the command t.end_fill() at the end.
5. In which direction is the turtle pointed by default?
a) North
b) South
c) East
d) West
Answer: c
Explanation: By default, the turtle is pointed towards the east direction. We can change the direction of the turtle by using certain
commands. However, whenever the turtle is reset, it points towards east.
6. The command used to set only the x coordinate of the turtle at 45 units is:
a) reset(45)
b) setx(45)
c) xset(45)
d) xreset(45)
Answer: b
Explanation: The command setx(45) is used to set the x coordinate of the turtle. Similarly, the command sety() is used to set the y
coordinate of the turtle. The function reset() takes two values as arguments, one for the x-coordinate and the other for the y-
coordinate.
7. Which of the following functions returns a value in degrees, counterclockwise from the horizontal right?
a) heading()
b) degrees()
c) position()
d) window_height()
Answer: a
Explanation: The function heading() returns the heading of the turtle, which is a value in degrees counterclockwise from the
horizontal right. This measure will be in radians if radians() has been called.
8. What will be the output of the following Python code?
import turtle
t=turtle.Pen()
t.right(90)
t.forward(100)
t.heading()
a) 0.0
b) 90.0
c) 270.0
d) 360.0
Answer: c
Explanation: The output of the code shown above will be 270.0. The function heading() returns the heading of the turtle, a value in
degrees, counterclockwise from the horizontal right. The output shape of this code is a straight line pointing downwards.
9. What will be the output of the following Python code?
import turtle
t=turtle.Pen()
t.clear()
t.isvisible()
a) Yes
b) True
c) No
d) False
Answer: b
Explanation: The function t.clear() returns a blank canvas, without changing the position of the turtle. Since the turtle is visible on
the blank canvas, the output of this code is: Yes.
10. What will be the output of the following Python code?
import turtle
t=turtle.Pen()
t.forward(100)
t.left(90)
t.clear()
t.position()
a) 0.00, 90.00
b) 0.00, 0.00
c) 100.00, 90.00
d) 100.00, 100.00
Answer: d
Explanation: The output of the code shown above is 100.00, 100.00. The function clear() is used to erase the entire canvas and
redraw the turtle. However, the position of the turtle is not changed.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Turtle Module – 3”.
1. Which of the following functions results in an error?
a) turtle.shape(“turtle”)
b) turtle.shape(“square”)
c) turtle.shape(“triangle”)
d) turtle.shape(“rectangle”)
Answer: d
Explanation: The functions shown above will change the arrow to the shape mentioned. The functions turtle.shape(“turtle”),
turtle.shape(“square”) and turtle.shape(“triangle”) are valid whereas the function turtle.shape(“rectangle”) is invalid.
2. What will be the output of the following Python code?
import turtle
t=turtle.Pen
t.tilt(75)
t.forward(100)
a) A straight line of 100 units tiled at 75 degrees from the horizontal
b) A straight line of 100 units tilted at 15 degrees from the horizontal
c) A straight line of 100 units lying along the horizontal
d) Error
Answer: c
Explanation: The function turtle.tilt(75) will tilt the turtle. But the straight line (of 100 units) is drawn along the horizontal. Hence the
output of the code shown above is a straight line of 100 units lying along the horizontal.
3. What will be the output of the following Python code?
import turtle
t=turtle.Pen()
t.backward(100)
t.penup()
t.right(45)
t.isdown()
a) True
b) False
c) Yes
d) No
Answer: b
Explanation: In the code shown above, we have used the function t.penup() to life the pen from the canvas. However, we have not
used the function t.pendown() to keep the pen back down. The function turtle.isdown() returns True if the pen is down and False if
the pen is not down. Hence the output is False.
4. The function used to alter the thickness of the pen to ‘x’ units:
a) turtle.width(x)
b) turtle.span(x)
c) turtle.girth(x)
d) turtle.thickness(x)
Answer: a
Explanation: The function turtle.width(x) is used to alter the thickness of the pen to ‘x’ units. The function turtle.span(x),
turtle.girth(x) and turtle.thickness(x) are invalid.
5. What will be the output of the following Python code if the system date is 18th June, 2017 (Sunday)?
import turtle
t=turtle.Pen()
t.goto(100,0)
t.towards(0,0)
a) 0.0
b) 180.0
c) 270.0
d) 360.0
Answer: b
Explanation: The function t.towards(x,y) returns the angle between the line to the line specified by (x,y). Hence the output will be
180.0.
6. What will be the output of the following Python code?
import turtle
t=turtle.Pen()
t.position()
(100.00,0.00)
t.goto(100,100)
t.distance(100,0)
a) 0.0
b) Error
c) 100.0, 100.0
d) 100.0
Answer: d
Explanation: The distance() function returns the distance between the turtle to the given vector. Hence the output of the code
shown above is 100.0.
7. The output of the following Python code will result in a shape similar to the alphabet ___________
import turtle
t=turtle.Turtle()
t1=turtle.Turtle()
t.left(45)
t1.left(135)
t.forward(100)
t1.forward(100)
a) V
b) Inverted V
c) X
d) T
Answer: a
Explanation: In the code shown above, two pens have been used to create a shape similar to the alphabet ‘V’. The angle
between the two straight lines is 90 degrees.
8. The output of the following Python code is similar to the alphabet _______________
import turtle
t=turtle.Pen()
t1=turtle.Pen()
t2=turtle.Pen()
t.forward(100)
t1.forward(100)
t2.forward(100)
t1.left(90)
t1.forward(75)
t2.right(90)
t2.forward(75)
a) X
b) N
c) T
d) M
Answer: c
Explanation: In the above code, three pens have been used to create a shape similar to the letter ‘T’. All the three straight lines
are mutually perpendicular.
9. The following Python code will result in an error.
import turtle
t=turtle.Pen()
t.speed(-45)
t.circle(30)
a) True
b) False
Answer: b
Explanation: Although a negative speed is not possible, the code shown above does not result in an error. Hence, the answer is
False.
10. What will be the output of the following Python code?
import turtle()
t=turtle.Pen()
t.goto(50,60)
t1=t.clone()
t1.ycor()
a) 0.0
b) 50.0
c) 60.0
d) Error
Answer: c
Explanation: The function clone() is used to create a clone of the turtle, having the same properties such as position, coordinates
etc. Hence, the properties of the t and t1 are the same in the code shown above. The function ycor() returns the y-coordinate of
the turtle. Hence the output of the code is 60.0.
11. What will be the output shape of the following Python code?
import turtle
t=turtle.Pen()
for i in range(0,6):
t.forward(100)
t.left(60)
a) Hexagon
b) Octagon
c) Pentagon
d) Heptagon
Answer: a
Explanation: The code shown above creates a six-sided polygon. The output shape of the code shown above is will be a
hexagon.
12. What will be the output of the following Python code?
import turtle
t=turtle.Pen()
t.resizemode(“sanfoundry”)
t.resizemode()
a) user
b) auto
c) nonresize
d) error
Answer: c
Explanation: When not explicitly specified as auto or user, no adaption of the turtle’s appearance takes place and the mode is
‘noresize’. Hence the output of the code is: noresize.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “Variable Names”.
1. Is Python case sensitive when dealing with identifiers?
a) yes
b) no
c) machine dependent
d) none of the mentioned
Answer: a
Explanation: Case is always significant.
2. What is the maximum possible length of an identifier?
a) 31 characters
b) 63 characters
c) 79 characters
d) none of the mentioned
Answer: d
Explanation: Identifiers can be of any length.
3. Which of the following is invalid?
a) _a = 1
b) __a = 1
c) __str__ = 1
d) none of the mentioned
Answer: d
Explanation: All the statements will execute successfully but at the cost of reduced readability.
4. Which of the following is an invalid variable?
a) my_string_1
b) 1st_string
c) foo
d) _
Answer: b
Explanation: Variable names should not start with a number.
5. Why are local variable names beginning with an underscore discouraged?
a) they are used to indicate a private variables of a class
b) they confuse the interpreter
c) they are used to indicate global variables
d) they slow down execution
Answer: a
Explanation: As Python has no concept of private variables, leading underscores are used to indicate variables that must not be
accessed from outside the class.
6. Which of the following is not a keyword?
a) eval
b) assert
c) nonlocal
d) pass
Answer: a
Explanation: eval can be used as a variable.
7. All keywords in Python are in _________
a) lower case
b) UPPER CASE
c) Capitalized
d) None of the mentioned
Answer: d
Explanation: True, False and None are capitalized while the others are in lower case.
8. Which of the following is true for variable names in Python?
a) unlimited length
b) all private members must have leading and trailing underscores
c) underscore and ampersand are the only two special characters allowed
d) none of the mentioned
Answer: a
Explanation: Variable names can be of any length.
9. Which of the following is an invalid statement?
a) abc = 1,000,000
b) a b c = 1000 2000 3000
c) a,b,c = 1000, 2000, 3000
d) a_b_c = 1,000,000
Answer: b
Explanation: Spaces are not allowed in variable names.
10. Which of the following cannot be a variable?
a) __init__
b) in
c) it
d) on
Answer: b
Explanation: in is a keyword.
This set of Python Multiple Choice Questions & Answers (MCQs) focuses on “While and For Loops”.
1. What will be the output of the following Python code?
x = ['ab', 'cd']
for i in x:
i.upper()
print(x)
a) [‘ab’, ‘cd’]
b) [‘AB’, ‘CD’]
c) [None, None]
d) none of the mentioned
Answer: a
Explanation: The function upper() does not modify a string in place, it returns a new string which isn’t being stored anywhere.
2. What will be the output of the following Python code?
x = ['ab', 'cd']
for i in x:
x.append(i.upper())
print(x)
a) [‘AB’, ‘CD’]
b) [‘ab’, ‘cd’, ‘AB’, ‘CD’]
c) [‘ab’, ‘cd’]
d) none of the mentioned
Answer: d
Explanation: The loop does not terminate as new elements are being added to the list in each iteration.
3. What will be the output of the following Python code?
i=1
while True:
if i%3 == 0:
break
print(i)
i+=1
a) 1 2
b) 1 2 3
c) error
d) none of the mentioned
Answer: c
Explanation: SyntaxError, there shouldn’t be a space between + and = in +=.
4. What will be the output of the following Python code?
i=1
while True:
if i%0O7 == 0:
break
print(i)
i += 1
a) 1 2 3 4 5 6
b) 1 2 3 4 5 6 7
c) error
d) none of the mentioned
Answer: a
Explanation: Control exits the loop when i becomes 7.
5. What will be the output of the following Python code?
i=5
while True:
if i%0O11 == 0:
break
print(i)
i += 1
a) 5 6 7 8 9 10
b) 5 6 7 8
c) 5 6
d) error
Answer: b
Explanation: 0O11 is an octal number.
6. What will be the output of the following Python code?
i=5
while True:
if i%0O9 == 0:
break
print(i)
i += 1
a) 5 6 7 8
b) 5 6 7 8 9
c) 5 6 7 8 9 10 11 12 13 14 15 ….
d) error
Answer: d
Explanation: 9 isn’t allowed in an octal number.
7. What will be the output of the following Python code?
i=1
while True:
if i%2 == 0:
break
print(i)
i += 2
a) 1
b) 1 2
c) 1 2 3 4 5 6 …
d) 1 3 5 7 9 11 …
Answer: d
Explanation: The loop does not terminate since i is never an even number.
8. What will be the output of the following Python code?
i=2
while True:
if i%3 == 0:
break
print(i)
i += 2
a) 2 4 6 8 10 …
b) 2 4
c) 2 3
d) error
Answer: b
Explanation: The numbers 2 and 4 are printed. The next value of i is 6 which is divisible by 3 and hence control exits the loop.
9. What will be the output of the following Python code?
i=1
while False:
if i%2 == 0:
break
print(i)
i += 2
a) 1
b) 1 3 5 7 …
c) 1 2 3 4 …
d) none of the mentioned
Answer: d
Explanation: Control does not enter the loop because of False.
10. What will be the output of the following Python code?
True = False
while True:
print(True)
break
a) True
b) False
c) None
d) none of the mentioned
Answer: d
Explanation: SyntaxError, True is a keyword and it’s value cannot be changed.
This set of Python Questions for campus interview focuses on “Functions”.
1. Python supports the creation of anonymous functions at runtime, using a construct called __________
a) lambda
b) pi
c) anonymous
d) none of the mentioned
Answer: a
Explanation: Python supports the creation of anonymous functions (i.e. functions that are not bound to a name) at runtime, using
a construct called lambda. Lambda functions are restricted to a single expression. They can be used wherever normal functions
can be used.
2. What will be the output of the following Python code?
1. y = 6
2. z = lambda x: x * y
3. print z(8)
a) 48
b) 14
c) 64
d) None of the mentioned
Answer: a
Explanation: The lambda keyword creates an anonymous function. The x is a parameter, that is passed to the lambda function.
The parameter is followed by a colon character. The code next to the colon is the expression that is executed, when the lambda
function is called. The lambda function is assigned to the z variable.
The lambda function is executed. The number 8 is passed to the anonymous function and it returns 48 as the result. Note that z is
not a name for this function. It is only a variable to which the anonymous function was assigned.
3. What will be the output of the following Python code?
1. lamb = lambda x: x ** 3
2. print(lamb(5))
a) 15
b) 555
c) 125
d) None of the mentioned
Answer: c
Explanation: None.
4. Does Lambda contains return statements?
a) True
b) False
Answer: b
Explanation: lambda definition does not include a return statement. it always contains an expression which is returned. Also note
that we can put a lambda definition anywhere a function is expected. We don’t have to assign it to a variable at all.
5. Lambda is a statement.
a) True
b) False
Answer: b
Explanation: lambda is an anonymous function in Python. Hence this statement is false.
6. Lambda contains block of statements.
a) True
b) False
Answer: b
Explanation: None.
7. What will be the output of the following Python code?
1. def f(x, y, z): return x + y + z
2. f(2, 30, 400)
a) 432
b) 24000
c) 430
d) No output
Answer: a
Explanation: None.
8. What will be the output of the following Python code?
1. def writer():
2. title = 'Sir'
3. name = (lambda x:title + ' ' + x)
4. return name
5. who = writer()
6. who('Arthur')
a) Arthur Sir
b) Sir Arthur
c) Arthur
d) None of the mentioned
Answer: b
Explanation: None.
9. What will be the output of the following Python code?
1. L = [lambda x: x ** 2,
2. lambda x: x ** 3,
3. lambda x: x ** 4]
4. for f in L:
5. print(f(3))
a)
27
81
343
b)
6
9
12
c)
9
27
81
d) None of the mentioned
Answer: c
Explanation: None.
10. What will be the output of the following Python code?
1. min = (lambda x, y: x if x < y else y)
2. min(101*99, 102*98)
a) 9997
b) 9999
c) 9996
d) None of the mentioned
Answer: c
Explanation: None.
To practice all campus interview questions on Python, .
This set of Python Questions for entrance examinations focuses on “Functions”.
1. Which are the advantages of functions in python?
a) Reducing duplication of code
b) Decomposing complex problems into simpler pieces
c) Improving clarity of the code
d) All of the mentioned
Answer: d
Explanation: None.
2. What are the two main types of functions?
a) Custom function
b) Built-in function & User defined function
c) User function
d) System function
Answer: b
Explanation: Built-in functions and user defined ones. The built-in functions are part of the Python language. Examples are: dir(),
len() or abs(). The user defined functions are functions created with the def keyword.
3. Where is function defined?
a) Module
b) Class
c) Another function
d) All of the mentioned
Answer: d
Explanation: Functions can be defined inside a module, a class or another function.
4. What is called when a function is defined inside a class?
a) Module
b) Class
c) Another function
d) Method
Answer: d
Explanation: None.
5. Which of the following is the use of id() function in python?
a) Id returns the identity of the object
b) Every object doesn’t have a unique id
c) All of the mentioned
d) None of the mentioned
Answer: a
Explanation: Each object in Python has a unique id. The id() function returns the object’s id.
6. Which of the following refers to mathematical function?
a) sqrt
b) rhombus
c) add
d) rhombus
Answer: a
Explanation: Functions that are always available for usage, functions that are contained within external modules, which must be
imported and functions defined by a programmer with the def keyword.
Eg: math import sqrt
A sqrt() function is imported from the math module.
7. What will be the output of the following Python code?
1. def cube(x):
2. return x * x * x
3. x = cube(3)
4. print x
a) 9
b) 3
c) 27
d) 30
Answer: c
Explanation: A function is created to do a specific task. Often there is a result from such a task. The return keyword is used to
return values from a function. A function may or may not return a value. If a function does not have a return keyword, it will send a
none value.
8. What will be the output of the following Python code?
1. def C2F(c):
2. return c * 9/5 + 32
3. print C2F(100)
4. print C2F(0)
a)
212
32
b)
314
24
c)
567
98
d) None of the mentioned
Answer: a
Explanation: The code shown above is used to convert a temperature in degree celsius to fahrenheit.
9. What will be the output of the following Python code?
1. def power(x, y=2):
2. r=1
3. for i in range(y):
4. r=r*x
5. return r
6. print power(3)
7. print power(3, 3)
a)
212
32
b)
9
27
c)
567
98
d) None of the mentioned
Answer: b
Explanation: The arguments in Python functions may have implicit values. An implicit value is used, if no value is provided. Here
we created a power function. The function has one argument with an implicit value. We can call the function with one or two
arguments.
10. What will be the output of the following Python code?
1. def sum(*args):
2. '''Function returns the sum
3. of all values'''
4. r=0
5. for i in args:
6. r += i
7. return r
8. print sum.__doc__
9. print sum(1, 2, 3)
10. print sum(1, 2, 3, 4, 5)
a)
6
15
b)
6
100
c)
123
12345
d) None of the mentioned
Answer: a
Explanation: We use the * operator to indicate, that the function will accept arbitrary number of arguments. The sum() function will
return the sum of all arguments. The first string in the function body is called the function documentation string. It is used to
document the function. The string must be in triple quotes.
To practice all extrance examination questions on Python, .
This set of Online Python Quiz focuses on “Strings”.
1. What will be the output of the following Python code?
print("ab\tcd\tef".expandtabs())
a) ab cd ef
b) abcdef
c) ab\tcd\tef
d) ab cd ef
Answer: a
Explanation: Each \t is converted to 8 blank spaces by default.
2. What will be the output of the following Python code?
print("ab\tcd\tef".expandtabs(4))
a) ab cd ef
b) abcdef
c) ab\tcd\tef
d) ab cd ef
Answer: d
Explanation: Each \t is converted to 4 blank spaces.
3. What will be the output of the following Python code?
print("ab\tcd\tef".expandtabs('+'))
a) ab+cd+ef
b) ab++++++++cd++++++++ef
c) ab cd ef
d) none of the mentioned
Answer: d
Explanation: TypeError, an integer should be passed as an argument.
4. What will be the output of the following Python code?
print("abcdef".find("cd") == "cd" in "abcdef")
a) True
b) False
c) Error
d) None of the mentioned
Answer: b
Explanation: The function find() returns the position of the sunstring in the given string whereas the in keyword returns a value of
Boolean type.
5. What will be the output of the following Python code?
print("abcdef".find("cd"))
a) True
b) 2
c) 3
d) None of the mentioned
Answer: b
Explanation: The first position in the given string at which the substring can be found is returned.
6. What will be the output of the following Python code?
print("ccdcddcd".find("c"))
a) 4
b) 0
c) Error
d) True
Answer: b
Explanation: The first position in the given string at which the substring can be found is returned.
7. What will be the output of the following Python code?
print("Hello {0} and {1}".format('foo', 'bin'))
a) Hello foo and bin
b) Hello {0} and {1} foo bin
c) Error
d) Hello 0 and 1
Answer: a
Explanation: The numbers 0 and 1 represent the position at which the strings are present.
8. What will be the output of the following Python code?
print("Hello {1} and {0}".format('bin', 'foo'))
a) Hello foo and bin
b) Hello bin and foo
c) Error
d) None of the mentioned
Answer: a
Explanation: The numbers 0 and 1 represent the position at which the strings are present.
9. What will be the output of the following Python code?
print("Hello {} and {}".format('foo', 'bin'))
a) Hello foo and bin
b) Hello {} and {}
c) Error
d) Hello and
Answer: a
Explanation: It is the same as Hello {0} and {1}.
10. What will be the output of the following Python code?
print("Hello {name1} and {name2}".format('foo', 'bin'))
a) Hello foo and bin
b) Hello {name1} and {name2}
c) Error
d) Hello and
Answer: c
Explanation: The arguments passed to the function format aren’t keyword arguments.
To practice all online quiz questions on Python, .
This set of Python Quiz focuses on “Strings”.
1. What will be the output of the following Python code?
print("xyyzxyzxzxyy".count('yy'))
a) 2
b) 0
c) error
d) none of the mentioned
Answer: a
Explanation: Counts the number of times the substring ‘yy’ is present in the given string.
2. What will be the output of the following Python code?
print("xyyzxyzxzxyy".count('yy', 1))
a) 2
b) 0
c) 1
d) none of the mentioned
Answer: a
Explanation: Counts the number of times the substring ‘yy’ is present in the given string, starting from position 1.
3. What will be the output of the following Python code?
print("xyyzxyzxzxyy".count('yy', 2))
a) 2
b) 0
c) 1
d) none of the mentioned
Answer: c
Explanation: Counts the number of times the substring ‘yy’ is present in the given string, starting from position 2.
4. What will be the output of the following Python code?
print("xyyzxyzxzxyy".count('xyy', 0, 100))
a) 2
b) 0
c) 1
d) error
Answer: a
Explanation: An error will not occur if the end value is greater than the length of the string itself.
5. What will be the output of the following Python code?
print("xyyzxyzxzxyy".count('xyy', 2, 11))
a) 2
b) 0
c) 1
d) error
Answer: b
Explanation: Counts the number of times the substring ‘xyy’ is present in the given string, starting from position 2 and ending at
position 11.
6. What will be the output of the following Python code?
print("xyyzxyzxzxyy".count('xyy', -10, -1))
a) 2
b) 0
c) 1
d) error
Answer: b
Explanation: Counts the number of times the substring ‘xyy’ is present in the given string, starting from position 2 and ending at
position 11.
7. What will be the output of the following Python code?
print('abc'.encode())
a) abc
b) ‘abc’
c) b’abc’
d) h’abc’
Answer: c
Explanation: A bytes object is returned by encode.
8. What is the default value of encoding in encode()?
a) ascii
b) qwerty
c) utf-8
d) utf-16
Answer: c
Explanation: The default value of encoding is utf-8.
9. What will be the output of the following Python code?
print("xyyzxyzxzxyy".endswith("xyy"))
a) 1
b) True
c) 3
d) 2
Answer: b
Explanation: The function returns True if the given string ends with the specified substring.
10. What will be the output of the following Python code?
print("xyyzxyzxzxyy".endswith("xyy", 0, 2))
a) 0
b) 1
c) True
d) False
Answer: d
Explanation: The function returns False if the given string does not end with the specified substring.
To practice all quiz questions on Python, .
This set of Python Scripting Interview Questions & Answers focuses on “Files”.
1. In file handling, what does this terms means “r, a”?
a) read, append
b) append, read
c) write, append
d) none of the mentioned
Answer: a
Explanation: r- reading, a-appending.
2. What is the use of “w” in file handling?
a) Read
b) Write
c) Append
d) None of the mentioned
Answer: b
Explanation: This opens the file for writing. It will create the file if it doesn’t exist, and if it does, it will overwrite it.
fh = open(“filename_here”, “w”).
3. What is the use of “a” in file handling?
a) Read
b) Write
c) Append
d) None of the mentioned
Answer: c
Explanation: This opens the fhe file in appending mode. That means, it will be open for writing and everything will be written to
the end of the file.
fh =open(“filename_here”, “a”).
4. Which function is used to read all the characters?
a) Read()
b) Readcharacters()
c) Readall()
d) Readchar()
Answer: a
Explanation: The read function reads all characters fh = open(“filename”, “r”)
content = fh.read().
5. Which function is used to read single line from file?
a) Readline()
b) Readlines()
c) Readstatement()
d) Readfullline()
Answer: b
Explanation: The readline function reads a single line from the file fh = open(“filename”, “r”)
content = fh.readline().
6. Which function is used to write all the characters?
a) write()
b) writecharacters()
c) writeall()
d) writechar()
Answer: a
Explanation: To write a fixed sequence of characters to a file
fh = open(“hello.txt”,”w”)
write(“Hello World”).
7. Which function is used to write a list of string in a file?
a) writeline()
b) writelines()
c) writestatement()
d) writefullline()
Answer: a
Explanation: With the writeline function you can write a list of strings to a file
fh = open(“hello.txt”, “w”)
lines_of_text = [“a line of text”, “another line of text”, “a third line”] fh.writelines(lines_of_text).
8. Which function is used to close a file in python?
a) Close()
b) Stop()
c) End()
d) Closefile()
Answer: a
Explanation: f.close()to close it and free up any system resources taken up by the open file.
9. Is it possible to create a text file in python?
a) Yes
b) No
c) Machine dependent
d) All of the mentioned
Answer: a
Explanation: Yes we can create a file in python. Creation of file is as shown below.
file = open(“newfile.txt”, “w”)
file.write(“hello world in the new file\n”)
file.write(“and another line\n”)
file.close().
10. Which of the following are the modes of both writing and reading in binary format in file?
a) wb+
b) w
c) wb
d) w+
Answer: a
Explanation: Here is the description below
“w” Opens a file for writing only. Overwrites the file if the file exists. If the file does not exist, creates a new file for writing.
“wb” Opens a file for writing only in binary format. Overwrites the file if the file exists. If the file does not exist, creates a new file for
writing.
“w+” Opens a file for both writing and reading. Overwrites the existing file if the file exists. If the file does not exist, creates a new
file for reading and writing.
“wb+” Opens a file for both writing and reading in binary format. Overwrites the existing file if the file exists. If the file does not
exist, creates a new file for reading and writing.
TTo practice all scripting interview questions on Python, .
This set of Python Scripting Questions & Answers focuses on “Files”.
1. Which is/are the basic I/O connections in file?
a) Standard Input
b) Standard Output
c) Standard Errors
d) All of the mentioned
Answer: d
Explanation: Standard input, standard output and standard error. Standard input is the data that goes to the program. The
standard input comes from a keyboard. Standard output is where we print our data with the print keyword. Unless redirected, it is
the terminal console. The standard error is a stream where programs write their error messages. It is usually the text terminal.
2. What will be the output of the following Python code? (If entered name is sanfoundry)
1. import sys
2. print 'Enter your name: ',
3. name = ''
4. while True:
5. c = sys.stdin.read(1)
6. if c == '\n':
7. break
8. name = name + c
9. print 'Your name is:', name
a) sanfoundry
b) sanfoundry, sanfoundry
c) San
d) None of the mentioned
Answer: a
Explanation: In order to work with standard I/O streams, we must import the sys module. The read() method reads one character
from the standard input. In our example we get a prompt saying “Enter your name”. We enter our name and press enter. The
enter key generates the new line character: \n.
Output:
Enter your name: sanfoundry
Your name is: sanfoundry
3. What will be the output of the following Python code?
1. import sys
2. sys.stdout.write(' Hello\n')
3. sys.stdout.write('Python\n')
a) Compilation Error
b) Runtime Error
c) Hello Python
d)
Hello
Python
Answer: d
Explanation: None
Output:
Hello
Python
1|Pa g e
PYTHON PROGRAMING (KNC – 402)
UNIT 1
INTRODUCTION
Python is a popular programming language. It was created by Guido van Rossum, and
released in 1991. Python is an object-oriented programming language created by Guido
Rossum in 1989. It is ideally designed for rapid prototyping of complex applications. It
has interfaces to many OS system calls and libraries and is extensible to C or C++.
Python programming is widely used in Artificial Intelligence, Natural Language
Generation, Neural Networks and other advanced fields of Computer Science. Python had
deep focus on code readability & this class will teach you python from basics.
Python is Interpreted − Python is processed at runtime by the interpreter. You do
not need to compile your program before executing it. This is similar to PERL and
PHP.
Python is Interactive − You can actually sit at a Python prompt and interact with
the interpreter directly to write your programs.
Python is Object-Oriented − Python supports Object-Oriented style or technique
of programming that encapsulates code within objects.
Python is a Beginner's Language − Python is a great language for the
beginner-level programmers and supports the development of a wide range of
applications from simple text processing to WWW browsers to games.
Python's features include −
Easy-to-learn − Python has few keywords, simple structure, and a clearly defined
syntax. This allows the student to pick up the language quickly.
Easy-to-read − Python code is more clearly defined and visible to the eyes.
Easy-to-maintain − Python's source code is fairly easy-to-maintain.
A broad standard library − Python's bulk of the library is very portable and
cross-platform compatible on UNIX, Windows, and Macintosh.
Interactive Mode − Python has support for an interactive mode which allows
interactive testing and debugging of snippets of code.
Portable − Python can run on a wide variety of hardware platforms and has the
same interface on all platforms.
Extendable − You can add low-level modules to the Python interpreter. These
modules enable programmers to add to or customize their tools to be more
efficient.
Databases − Python provides interfaces to all major commercial databases.
2|Pa g e
GUI Programming − Python supports GUI applications that can be created and
ported to many system calls, libraries and windows systems, such as Windows
MFC, Macintosh, and the X Window system of Unix.
Scalable − Python provides a better structure and support for large programs than
shell scripting.
Python Features
Python defines type conversion functions to directly convert one data type to another which
is useful in day to day and competitive programming. This article is aimed at providing the
information about certain conversion functions.
1. int(a,base) : This function converts any data type to integer. „Base‟ specifies
the base in which string is if data type is string.
2. float() : This function is used to convert any data type to a floating point number
3. ord() : This function is used to convert a character to integer.
4. hex() : This function is to convert integer to hexadecimal string.
3|Pa g e
5. oct() : This function is to convert integer to octal string.
6. tuple() : This function is used to convert to a tuple.
7. set() : This function returns the type after converting to set.
8. list() : This function is used to convert any data type to a list type.
9. dict() : This function is used to convert a tuple of order (key,value) into a
dictionary.
10. str() : Used to convert integer into a string.
11. complex(real,imag) : This function converts real numbers to complex(real,imag)
number.
4|Pa g e
7. Which of the following statements is true?
A. Python is a high level programming language.
B. Python is an interpreted language.
C. Python is an object-oriented language
D. All of the above
5|Pa g e
d) none of the mentioned
17. Why are local variable names beginning with an underscore discouraged?
a) they are used to indicate a private variables of a class
b) they confuse the interpreter
c) they are used to indicate global variables
d) they slow down execution
6|Pa g e
c) Tuples
d) Class
24. Given a function that does not return any value, What value is thrown by default when
executed in shell.
a) int
b) bool
c) void
d) None
>>>str="hello"
>>>str[:2]
a) he
b) lo
c) olleh
d) hello
28. In python we do not specify types, it is directly interpreted by the compiler, so consider the
following operation to be performed.
>>>x = 13 ? 2
objective is to make sure x has a integer value, select all that apply (python 3.xx)
a) x = 13 // 2
b) x = int(13 / 2)
c) x = 13 % 2
d) All of the mentioned
29. What error occurs when you execute the following Python code snippet?
apple = mango
a) SyntaxError
b) NameError
c) ValueError
d) TypeError
30. What will be the output of the following Python code snippet?
7|Pa g e
def example(a):
a = a + '2'
a = a*2
return a
>>>example("hello")
a) indentation Error
b) cannot perform mathematical operation on strings
c) hello2
d) hello2hello2
32. In order to store values in terms of key and value we use what core data type.
a) list
b) tuple
c) class
d) dictionary
34. The following is displayed by a print function call. Select all of the function calls that result
in this output.
1. tom
2. dick
3. harry
a) print('''tom
\ndick
\nharry''')
b) print(”‟tomdickharry”‟)
c) print(„tom\ndick\nharry‟)
d) print('tom
dick
harry')
35. What is the average value of the following Python code snippet?
>>>grade1 = 80
>>>grade2 = 90
>>>average = (grade1 + grade2) / 2
a) 85.0
8|Pa g e
b) 85.1
c) 95.0
d) 95.1
38. How we can convert the given list into the set ?
a) list.set()
b) set.list()
c) set(list)
d) None of the above
42. Which of the following can convert the string to float number ?
a) str(float,x)
b) float(str,int)
c) int(float(str))
d) float(str)
43. Which of the following function are used to convert the string into the list ?
a) map()
b) convertor()
c) split()
d) lambda
9|Pa g e
44. Which of the following is not the data type in python ?
a) List
b) Tuple
c) Set
d) Class
ANSWERS
1.a 2.c 3.a 4.b 5.a 6.b 7.d 8.b 9.c 10.b 11.b 12.c 13.a 14.d 15.d
16.b 17.a (As Python has no concept of private variables, leading underscores are used to indicate
variables that must not be accessed from outside the class.) 18.a (eval can be used as a variable)
19.d 20.a 21b 22.b 23.d 24.d 25.a 26.a 27.a 28.d
29.b 30.a 31.a 32.d 33.c 34.c 35.a 36.c 37.a 38.c
39.c 40.d 41.c 42.d 43.c 44.d 45.d 46.d
Python Operators
1. Arithmetic operators: Arithmetic operators are used to perform mathematical operations like
addition, subtraction, multiplication and division.
10 | P a g e
// Division (floor): divides the first x // y
operand by the second
3. Logical operators: Logical operators perform Logical AND, Logical OR and Logical
NOT operations.
11 | P a g e
4. Bitwise operators: Bitwise operators acts on bits and performs bit by bit operation.
| Bitwise OR x|y
~ Bitwise NOT ~x
5. Assignment operators: Assignment operators are used to assign values to the variables.
12 | P a g e
using operands and assign value
to left operand
Identity operators-
is and is not are the identity operators both are used to check if two values are located on the same part
of the memory. Two variables that are equal does not imply that they are identical.
is True if the operands are identical
is not True if the operands are not identical
Membership operators-
in and not in are the membership operators; used to test whether a value or variable is in a sequence.
in True if value is found in the sequence
not in True if value is not found in the sequence
13 | P a g e
operators but we can‟t create a new operator. To perform operator overloading, Python
provides some special function or magic function that is automatically invoked when it is
associated with that particular operator. For example, when we use + operator, the magic
method __add__ is automatically invoked in which the operation for + operator is
defined.
Any and All are two built ins provided in python used for successive And/Or.
Any
Returns true if any of the items is True. It returns False if empty or all are false. Any
can be thought of as a sequence of OR operations on the provided iterables.
It short circuit the execution i.e. stop the execution as soon as the result is known.
Syntax : any(list of iterables).
All
Returns true if all of the items are True (or if the iterable is empty). All can be
thought of as a sequence of AND operations on the provided iterables. It also short
circuit the execution i.e. stop the execution as soon as the result is known.
Syntax : all(list of iterables).
Operator Description
14 | P a g e
<= < > >= Comparison operators
15 | P a g e
c) 0
d) 5
10. Which one of the following has the highest precedence in the expression?
a) Exponential
b) Addition
c) Multiplication
d) Parentheses
16 | P a g e
a) -5
b) -4
c) -3
d) +3
21. What will be the output of the following Python code snippet if x=1?
x<<2
a) 8
b) 1
c) 2
d) 4
17 | P a g e
c) „0b11111‟
d) „0b11011‟
23. What will be the value of x in the following Python expression, if the result of
that expression is 2?
x>>2
a) 8
b) 4
c) 2
d) 1
24. What will be the output of the following Python expression if x=15 and y=12?
x&y
a) b1101
b) 0b1101
c) 12
d) 1101
26. Bitwise _________ gives 1 if either of the bits is 1 and 0 when both of the bits are
1.
a) OR
b) AND
c) XOR
d) NOT
28. What will be the output of the following Python code if a=10 and b =20?
a=10
b=20
a=a^b
b=a^b
a=a^bprint(a,b)
a) 10 20
b) 10 10
18 | P a g e
c) 20 10
d) 20 20
30. The value of the expressions 4/(3*(2-1)) and 4/3*(2-1) is the same.
a) True
b) False
33. Which of the following operators has its associativity from right to left?
a) +
b) //
c) %
d) **
19 | P a g e
d) (6.00, 16.0)
42. Which of the following expressions involves coercion when evaluated in Python?
20 | P a g e
a) 4.7 – 1.5
b) 7.9 * 6.3
c) 1.7 % 2
d) 3.4 + 4.6
44. Which among the following list of operators has the highest precedence?
+, -, **, %, /, <<, >>, |
a) <<, >>
b) **
c) |
d) %
21 | P a g e
a) True
b) False
ANSWERS:
1.b 2.b 3.a 4.b 5.b 6.a 7.c 8.a 9.a 10.d 11.b 12.c
13.c 14.a 15.a 16.d 17.a 18.d 19.d 20.d 21.d 22.b
23.a 24.c 25.b 26.c 27.c 28.c 29.b 30.a 31.b 32.b
33.d 34.b 35.a 36.c 37.d 38.a 39.b 40.b 41.d 42.c
43.a 44.b 45.c 46.a 47.d 48.b 49.b
UNIT II
CONDITIONALS
If else statements
Equals: a == b
Not Equals: a != b
Less than: a < b
22 | P a g e
Less than or equal to: a <= b
Greater than: a > b
Greater than or equal to: a >= b
These conditions can be used in several ways, most commonly in "if statements" and loops.
Example
If statement:
a = 33
b = 200
if b > a:
print("b is greater than a")
ELSE
The else keyword catches anything which isn't caught by the preceding conditions.
Example
a = 200
b = 33
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
else:
print("a is greater than b")
ELIF - The elif keyword is pythons way of saying "if the previous conditions were not
true, then try this condition.
Example
a=33
b=33
if b>a:
print("bisreaterthana")
elif a==b:
print("a and b are equal")
23 | P a g e
MULTIPLE CHOICE QUESTIONS ANSWERS
a. Yes
b. No
c. if/else not used in python
d. None of the above
24 | P a g e
a. pq
b. rs
c. pqrs
d. pq12
a. if a = b:
b. if a == b:
c. if a === c:
d. if a == b
11. What will be the output of given Python code?
str1="hello"
c=0
for x in str1:
if(x!="l"):
c=c+1
else:
pass print(c)
a. 2
b. 0
c. 4
d. 3
12. What does the following code print to the console?
if 5 > 10:
print("fan")
elif 8 != 9:
print("glass")
else:
print("cream")
a. Cream
B. Glass
c. Fan
d. No output
25 | P a g e
a. usa b. ireland
c.colombia d. None of the above
26 | P a g e
print("Audi")
a. Nissan b. Ford
c. BMW d. Audi
1.a 2.a 3.a 4.b 5.c 6.c 7.a (Yes, we can write if/else in one
line. For eg i = 5 if a > 7 else 0. So, option A is correct.) 8.b 9.a ( If condition
is true so pq will be the output. So, option A is correct.) 10.b 11.d 12.b
13.c 14.a 15.d 16.c 17.b (The first elif that is True will be
executed when multiple elif statements are True.) 18.a (1 does not equal True, but it's
considered True in a boolean context. Values that are considered True in a boolean
context are called "truthy" and values that are considered False in a boolean context are
called "falsy".) 19. c 20. d
27 | P a g e
# PYTHON LOOPS
while loops
for loops
With the while loop we can execute a set of statements as long as a condition is true.
Example
i=1
while i < 6:
print(i)
i += 1
The while loop requires relevant variables to be ready, in this example we need to define
an indexing variable, i, which we set to 1.
A for loop is used for iterating over a sequence (that is either a list, a tuple, a dictionary, a
set, or a string).
This is less like the for keyword in other programming languages, and works more like an
iterator method as found in other object-orientated programming languages.
With the for loop we can execute a set of statements, once for each item in a list, tuple, set
etc.
Example
28 | P a g e
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
A. For
B. while
C. do while
D.1 and 2
7. What is the final value of the i after this, for i in range(3): pass
A. 1
B. 2
C. 3
D. 0
29 | P a g e
A. 1
B. 2
C. 3
D. 0
13. What will be the output of the following Python code snippet?
x = 'abcd'
for i in range(len(x)):
x = 'a'
print(x)
A. a
B. abcd abcd abcd
C. a a a a
D. None of the mentioned
30 | P a g e
x = 'abcd'
for i in range(len(x)):
print(x)
x = 'a'
A. a
B. abcd abcd abcd abcd
C. a a a a
D. None of the mentioned
17. What will be the output of the following Python code snippet?
for i in [1, 2, 3, 4][::-1]:
print (i)
A. 1234
B. 4321
C. error
D. none of the mentioned
A. 0.0 1.0
B. 0 1
C. error
D. none of the mentioned
19. What will be the output of the following Python code snippet?
x=2
for i in range(x):
x += 1
print (x)
31 | P a g e
A. 01234
B. 01
C. 3 4
D. 0 1 2 3
20. What will be the output of the following Python code snippet?
x=2
for i in range(x):
x -= 2
print (x)
A. 01234
B. 0 -2
C. 30
D. Error
A. 0 1 2 3 4 Here
B. 0 1 2 3 4 5 Here
C. 0 1 2 3 4
D. 0 1 2 3 4 5
ANSWERS :
1. D 2. C 3. A 4. A 5. D 6. C 7. B 8. D 9. B 10.
A 11. B 12.D ( The loop does not terminate as new elements are being added to the list in
each iteration.) 13.C ( range() is computed only at the time of entering the loop. ) 14.D
15.C (Objects of type int are not iterable.) 16. C ( Object of type float cannot be
interpreted as an integer.) 17.B 18.B 19.C 20.B 21.C
# While Loops
In Python, While Loops is used to execute a block of statements repeatedly until a given
condition is satisfied. And when the condition becomes false, the line immediately after the
loop in the program is executed. While loop falls under the category of indefinite
iteration. Indefinite iteration means that the number of times the loop is executed isn‟t
specified explicitly in advance.
32 | P a g e
Syntax
while expression:
Statement(s)
Example:
# Python program to illustrate while loop
count = 0
while (count < 3):
count = count + 1
print("Hello")
print()
Output:
Hello
Hello
Hello
1
2
3
4
33 | P a g e
4. While(0), how many times a loop run ?
A. 0
B. 1
C. 3
D. infinite
A. no output
B. i i i i i i …
C. a b c d e f
D. abcdef
A. 123456
B. 1234567
C. error
D. none of the mentioned
34 | P a g e
break
A. True
B. False
C. None
D. none of the mentioned
A. 0120
B. 012
C. None
D. none of the mentioned
A. a b c d e f
B. Abcdef
C. i i i i i i...
D. Error
A. a a a a a a
B. a a a a
C. i i i i i i
D. None of the mentioned
A. 1 2
B. 1 2 3
C. Error
35 | P a g e
D. None of the mentioned
A. 1 2 3 4 5 6
B. 1 2 3 4 5 6 7
C. Error
D. None of the mentioned
A. 5 6 7 8 9 10
B. 5 6 7 8
C. 5 6
D. Error
A. 1
B. 1 2
C. 1 2 3 4 5 6 ....
D. 1 3 5 7 9 11 ....
A. 2 4 6 8 10 ....
B. 2 4
C. 2 3
D. Error
36 | P a g e
print(i)
i += 2
A. 1
B. 1 3 5 7 ...
C. 1 2 3 4 ....
D. none of the mentioned
A. true
B. false
C. error
D. none of the mentioned
A. 0 1 2 0
B. 0 1 2
C. error
D. none of the mentioned
A. 0 1 2 3 0
B. 0 1 2 0
C. 0 1 2
D. error
37 | P a g e
print(i, end = " ")
A. a a a a a a
B. a
C. no output
D. error
ANSWERS :
UNIT 3
A function is a block of organized, reusable code that is used to perform a single, related action. Functions
provide better modularity for your application and a high degree of code reusing.
Python gives many built-in functions like print(), etc. but you can also create your own functions. These
functions are called user-defined functions.
Defining a Function
You can define functions to provide the required functionality. Here are simple rules to
define a function in Python.
Function blocks begin with the keyword def followed by the function name and
parentheses ( ( ) ).
Any input parameters or arguments should be placed within these parentheses. You
can also define parameters inside these parentheses.
38 | P a g e
The first statement of a function can be an optional statement - the documentation
string of the function or docstring.
The code block within every function starts with a colon (:) and is indented.
The statement return [expression] exits a function, optionally passing back an
expression to the caller. A return statement with no arguments is the same as return
None.
Syntax:
By default, parameters have a positional behavior and you need to inform them in the
same order that they were defined.
Creating a Function
In Python a function is defined using the def keyword:
Example
def my_function():
print("Hello from a function")
Calling a Function
To call a function, use the function name followed by parenthesis.
Example
Def my_function():
print("Hello from a function")
my_function()xample »
Function Arguments
You can call a function by using the following types of formal arguments −
Required arguments
Keyword arguments
Default arguments
Variable-length arguments
Required arguments
39 | P a g e
Required arguments are the arguments passed to a function in correct positional order.
Here, the number of arguments in the function call should match exactly with the function
definition.
To call the function printme(), you definitely need to pass one argument, otherwise it
gives a syntax error.
Keyword arguments
Keyword arguments are related to the function calls. When you use keyword arguments in
a function call, the caller identifies the arguments by the parameter name.
This allows you to skip arguments or place them out of order because the Python
interpreter is able to use the keywords provided to match the values with parameters.
Default arguments
A default argument is an argument that assumes a default value if a value is not provided
in the function call for that argument.
Variable-length arguments
You may need to process a function for more arguments than you specified while defining
the function. These arguments are called variable-length arguments and are not named in
the function definition, unlike required and default arguments.
# Scope of Variables
All variables in a program may not be accessible at all locations in that program. This
depends on where you have declared a variable.
The scope of a variable determines the portion of the program where you can access a
particular identifier. There are two basic scopes of variables in Python −
Global variables
Local variables
Variables that are defined inside a function body have a local scope, and those defined
outside have a global scope.
This means that local variables can be accessed only inside the function in which they are
declared, whereas global variables can be accessed throughout the program body by all
functions. When you call a function, the variables declared inside it are brought into
scope. Following is a simple example −
40 | P a g e
total = 0; # This is global variable.# Function definition is heredef sum( arg1, arg2 ):
# Add both the parameters and return them."
total = arg1 + arg2; # Here total is local variable.
print "Inside the function local total : ", total
return total;
# Now you can call sum function
sum( 10, 20 );print "Outside the function global total : ", total
When the above code is executed, it produces the following result −
Inside the function local total : 30
Outside the function global total : 0
A. 4.5
B. 5
C. 4
D. 4.6
A. (x**y)**z
B. (x**y)/z
C. (x**y)%z
D. (x**y)*z
A. Error
B. True
C. False
D. 0
41 | P a g e
A. Error
B. True
C. False
D. 4>2
A. Error
B. -5
C. 5
D. 5.0
A. Error,6
B. 12, Error
C. 12,6
D. Error, Error
A. 2
B. False
C. -3
D. -4
A. a Error
B. „a‟ Error
C. Error a
D. Error Error
A. Error
B. 1
C. 2j
D. 1+2j
11. The function divmod(a,b), where both „a‟ and „b‟ are integers is evaluated as:
A. (a%b,a//b)
B. (a//b,a%b)
C. (a//b,a*b)
D. (a/b,a%b)
42 | P a g e
list(enumerate([2, 3]))
A. Error
B. [(1,2),(2,3)]
C. [(0,2),(1,3)]
D. [(2,3)]
13. Which of the following functions does not necessarily accept only iterables as arguments?
A. enumerate()
B. all()
C. chr()
D. max()
A. ord()
B. min()
C. chr()
D. any()
15. Which of the following functions will not result in an error when no arguments are passed
to it?
A. min()
B. divmod()
C. all()
D. float()
A. f
B. OxF
C. OXf
D. Oxf
A. 4
B. 3
C. Error
D. 6
43 | P a g e
A. Fun
B. Define
C. Def
D. Function
def sayHello():
print('Hello World!')
sayHello()
sayHello()
A. 3
B. 4
C. 4 is maximum
D. None of the mentioned
A. x is now 50
B. x is now 2
C. x is now 100
D. None of the mentioned
44 | P a g e
say('Hello')
say('World', 5)
A. Hello WorldWorldWorldWorldWorld
B. Hello World 5
C. Hello World,World,World,World,World
D. Hello HelloHelloHelloHelloHello
45 | P a g e
30. Which of the following is the use of id() function in python?
A. Id returns the identity of the object
B. Every object doesn‟t have a unique id
C. All of the mentioned
D. None of the mentioned
def cube(x):
return x * x * x
x = cube(3)
print x
A. 9
B. 3
C. 27
D. 30
def C2F(c):
return c * 9/5 + 32
print C2F(100)
print C2F(0)
A. 212
32
B. 314
24
C. 567
98
D. None of the mentioned
46 | P a g e
print power(3, 3)
A. 212
32
B. 9
27
C. 567
98
D. None of the mentioned.
37. How many keyword arguments can be passed to a function in a single function call?
A. zero
B. one
C. zero or more
D. one or more
47 | P a g e
total += 1
return total
total = 0print(foo())
A. 0
B. 1
C. error
D. none of the mentioned
48 | P a g e
global x
x+=1
print(x)
x=12print("x")
A. Error
B. 13
C. 13
x
D. X
49 | P a g e
C. 10 20 30 40
D. 5 10 15 40
53. Read the following Python code carefully and point out the global variables?
y, z = 1, 2def f():
global x
x = y+z
A. x
B. y and z
C. x, y and z
D. Neither x, nor y, nor z
50 | P a g e
54. Which of the following data structures is returned by the functions globals() and locals()?
A. list
B. set
C. dictionary
D. tuple
56. What happens if a local variable exists with the same name as the global variable you want to
access?
A. Error
B. The local variable is shadowed.
C. Undefined behavior.
D. The global variable is shadowed.
ANSWERS :
1.D 2.B 3.A 4.C 5.B 6.D 7.A 8.B 9.C 10.D
11.B 12.C 13.C 14.C 15.D 16.D 17.A 18.A
19.C 20.A 21.C 22.A 23.A 24.C 25.D 26.D
27.B 28.D 29.D 30.A 31.A 32.C 33.A 34.B 35.B
36.C 37.C 38.A 39.B 40.C 41.A 42.C 43.B 44.A 45.D
46.A 47.C 48.D 49.C 50.A 51.B 52.A 53.C 54.C 55.A
56.D
STRINGS
Strings are amongst the most popular types in Python. We can create them simply by enclosing
characters in quotes. Python treats single quotes the same as double quotes. Creating strings is as
simple as assigning a value to a variable. For example −
var1 = 'Hello World!'
var2 = "Python Programming"
51 | P a g e
Accessing Values in Strings
Python does not support a character type; these are treated as strings of length one, thus also
considered a substring.
To access substrings, use the square brackets for slicing along with the index or indices to obtain your
substring. For example −
var1[0]: H
var2[1:5]: ytho
Using + Operator
It‟s very easy to use + operator for string concatenation. This operator can be used to add multiple
strings together. However, the arguments must be a string.
Example
String Slicing
To access a range of characters in the String, method of slicing is used. Slicing in a String is done by
using a Slicing operator (colon).
# Python Program to
# demonstrate String slicing
52 | P a g e
# Creating a String
String1 = "GeeksForGeeks"
print("Initial String: ")
print(String1)
53 | P a g e
4. What will be the output of the following Python code?
>>> str1 = 'hello'
>>> str2 = ','
>>> str3 = 'world'
>>> str1[-1:]
a) olleh
b) hello
c) h
d) o
Answer: d
5. What arithmetic operators cannot be used with strings?
a)+
b)*
c) –
d) All of the mentioned
Answer: c
6. What will be the output of the following Python code?
>>>print (r"\nhello")
a) a new line and hello
b) \nhello
c) the letter r and then hello
d) error
Answer: b
7. What will be the output of the following Python statement?
>>>print('new' 'line')
a) Error
b) Output equivalent to print „new\nline‟
c) newline
d) new line
Answer: c
8. What will be the output of the following Python code?
>>>str1="helloworld"
>>>str1[::-1]
a) dlrowolleh
b) hello
c) world
d) helloworld
Answer: a
9. print(0xA + 0xB + 0xC):
a) 0xA0xB0xC
b) Error
c) 0x22
d) 33
Answer: d
10. What will be the output of the following Python code?
>>>example = "snow world"
>>>print("%s" % example[4:7])
a) wo
b) world
c) sn
d) rl
54 | P a g e
Answer: a
11. What will be the output of the following Python code?
>>>example = "snow world"
>>>example[3] = 's'
>>>print example
a) snow
b) snow world
c) Error
d) snos world
Answer: c
55 | P a g e
Answer: c
Explanation: __add__ is another method that can be used for concatenation.
18. Which of the following statement prints hello\example\test.txt?
a)print(“hello\example\test.txt”)
b)print(“hello\\example\\test.txt”)
c)print(“hello\”example\”test.txt”)
d) print(“hello”\example”\test.txt”)
Answer: b
Explanation: \is used to indicate that the next \ is not an escape sequence.
19. Suppose s is “\t\tWorld\n”, what is s.strip()?
a)\t\tWorld\n
b)\t\tWorld\n
c)\t\tWORLD\n
d) World
Answer: d
20. The format function, when applied on a string returns ___________
a) Error
b) int
c) bool
d) str
Answer: d
21. What will be the output of the “hello” +1+2+3?
a) hello123
b) hello
c) Error
d) hello6
Answer: c
22. What will be the output of the following Python code?
>>>print("D", end = ' ')
>>>print("C", end = ' ')
>>>print("B", end = ' ')
>>>print("A", end = ' ')
a) DCBA
b) A,B,C,D
c) DCBA
d) D, C, B, A will be displayed on four lines
Answer: c
23. What will be displayed by print(ord(„b‟) – ord(„a‟))?
a)0
b)1
c)-1
d) 2
Answer: b
Explanation: ASCII value of b is one more than a. Hence the output of this code is 98-97, which is
equal to 1.
24. Say s=”hello” what will be the return value of type(s)?
a) int
b) bool
c) str
d) String
Answer: c
25. What is “Hello”.replace(“l”, “e”)?
a) Heeeo
56 | P a g e
b) Heelo
c) Heleo
d) None
26. To retrieve the character at index 3 from string s=”Hello” what command do we execute
(multiple answers allowed)?
a) s[]
b) s.getitem(3)
c) s.__getitem__(3)
d) s.getItem(3)
27. To return the length of string s what command do we execute?
a) s.__len__()
b) len(s)
c) size(s)
d) s.size()
28. Suppose i is 5 and j is 4, i + j is same as ________
a) i.__add(j)
b) i.__add__(j)
c) i.__Add(j)
d) i.__ADD(j)
57 | P a g e
c) 3
d) 2
34. What will be the output of the following Python code?
print("abcdef".find("cd"))
a) True
b) 2
c) 3
d) None of the mentioned
40. What will be the output of the following Python code snippet?
print('for'.isidentifier())
a) True
b) False
c) None
d) Error
41. What will be the output of the following Python code snippet?
print('abc'.islower())
a) True
58 | P a g e
b) False
c) None
d) Error
42. What will be the output of the following Python code snippet?
print('11'.isnumeric())
a) True
b) False
c) None
d) Error
43. What will be the output of the following Python code snippet?
print('HelloWorld'.istitle())
a) True
b) False
c) None
d) Error
44. What will be the output of the following Python code snippet?
print('abcdef12'.replace('cd', '12'))
a) ab12ef12
b) abcdef12
c) ab12efcd
d) none of the mentioned
45. What will be the output of the following Python code snippet?
print('Ab!2'.swapcase())
a) AB!@
b) ab12
c) aB!2
d) aB1@
ANSWERS :
1.d 2.c 3.b 4.d 5.c 6.b 7.c 8.a 9.d 10.a 11.c 12.d 13.a
14.c 15.b 16.b 17.c 18.b 19.d 20.d 21.c 22.c 23.b
24.c 25.a 26.c 27.a 28.b 29.a 30.c 31.a 32.c 33.b
34.b 35.a 36.a 37.a 38.b 39.b 40.a 41.a 42.a 43.b
44.a 45.c
TUPLES
A tuple is a collection of objects which ordered and immutable. Tuples are sequences, just
like lists. The differences between tuples and lists are, the tuples cannot be changed
unlike lists and tuples use parentheses, whereas lists use square brackets.
59 | P a g e
Creating a tuple is as simple as putting different comma-separated values. Optionally you
can put these comma-separated values between parentheses also. For example −
To write a tuple containing a single value you have to include a comma, even though
there is only one value −
tup1 = (50,)
To access values in tuple, use the square brackets for slicing along with the index or
indices to obtain value available at that index. For example −
Output:
tup1[0]: physics
tup2[1:5]: [2, 3, 4, 5]
Updating Tuples
Tuples are immutable which means you cannot update or change the values of tuple
elements. You are able to take portions of existing tuples to create new tuples as the
following example demonstrates −
Output:
(12, 34.56, 'abc', 'xyz')
60 | P a g e
with putting together another tuple with the undesired elements discarded.
To explicitly remove an entire tuple, just use the del statement. For example
Tuples respond to the + and * operators much like strings; they mean concatenation and
repetition here too, except that the result is a new tuple, not a string.
Because tuples are sequences, indexing and slicing work the same way for tuples as they
do for strings. Assuming following input −
L = ('spam', 'Spam', 'SPAM!')
61 | P a g e
1. Which of the following is a Python tuple?
a) [1, 2, 3]
b) (1, 2, 3)
c) {1, 2, 3}
d) {}
62 | P a g e
t = (1, 2)
2*t
a)(1,2,1,2)
b)[1,2,1,2]
c)(1,1,2,2)
d) [1, 1, 2, 2]
63 | P a g e
a=("Check")*3
a
a)(„Check‟,‟Check‟,‟Check‟)
b)* Operator not valid for tuples
c)(„CheckCheckCheck‟)
d) Syntax error
64 | P a g e
19. Is the following Python code valid?
a=(1,2,3)
b=('A','B','C')
c=tuple(zip(a,b))
a)Yes, c will be ((1, „A‟), (2, „B‟), (3, „C‟))
b)Yes, c will be ((1,2,3),(„A‟,‟B‟,‟C‟))
c)No because tuples are immutable
d) No because the syntax for zip function isn‟t valid
65 | P a g e
a
a)Yes, 2 is printed
b)Yes, [2,3,4,5] is printed
c)No, too many values to unpack
d) Yes, (2,3,4,5) is printed
1.b 2.b 3.c 4.c 5.c 6.a 7.a 8.b 9.d(Tuples are immutable and
don‟t have an append method. An exception is thrown in this case.) 10.b 11.d
12.a 13.c 14.d 15.c 16.c 17.b 18.c 19.a 20.c(A tuple
needn‟t be enclosed in parenthesis.) 21.c (For unpacking to happen, the number of
values of the right hand side must be equal to the number of variables on the left hand
side.) 22.b 23.c 24.d 25.d (A tuple is immutable thus it doesn‟t have
a sort attribute.) 26.c (Tuple doesn‟t have any update() attribute because it is
immutable.) 27.a (A list of tuples is a list itself. Hence items of a list can be
sorted.)
66 | P a g e
LIST
The list is a most versatile datatype available in Python which can be written as a list of
comma-separated values (items) between square brackets. Important thing about a list is that items in a
list need not be of the same type.
Creating a list is as simple as putting different comma-separated values between square brackets.
For example −
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"]
Similar to string indices, list indices start at 0, and lists can be sliced, concatenated and so on.
Updating Lists
You can update single or multiple elements of lists by giving the slice on the left-hand side of the
assignment operator, and you can add to elements in a list with the append() method. For example
OUTPUT
Value available at index 2 :
1997
New value available at index 2 :
67 | P a g e
2001
68 | P a g e
Python includes the following list functions −
Sr.No. Function with Description
1 cmp(list1, list2)
Compares elements of both lists.
2 len(list)
Gives the total length of the list.
3 max(list)
Returns item from the list with max value.
4 min(list)
Returns item from the list with min value.
5 list(seq)
Converts a tuple into list.
1 list.append(obj)
Appends object obj to list
2 list.count(obj)
Returns count of how many times obj occurs in list
3 list.extend(seq)
Appends the contents of seq to list
4 list.index(obj)
Returns the lowest index in list that obj appears
5 list.insert(index, obj)
Inserts object obj into list at offset index
6 list.pop(obj=list[-1])
Removes and returns last object or obj from list
7 list.remove(obj)
Removes object obj from list
8 list.reverse()
Reverses objects of list in place
9 list.sort([func])
Sorts objects of list, use compare func if given
69 | P a g e
MULTIPLE CHOICE QUESTIONS ANSWERS
8. Suppose list1 is [4, 2, 2, 4, 5, 2, 1, 0], Which of the following is correct syntax for slicing
operation?
a) print(list1[0])
b) print(list1[:2])
c) print(list1[:-2])
d) all of the mentioned
70 | P a g e
b) None
c) 25
d) 2
10. Suppose list1 is [2, 33, 222, 14, 25], What is list1[:-1]?
a) [2, 33, 222, 14]
b) Error
c) 25
d) [25, 14, 222, 33, 2]
71 | P a g e
b) 1
c) 4
d) 2
19. Suppose list1 is [3, 4, 5, 20, 5, 25, 1, 3], what is list1 after list1.reverse()?
a) [3, 4, 5, 20, 5, 25, 1, 3]
b) [1, 3, 3, 4, 5, 5, 20, 25]
c) [25, 20, 5, 5, 4, 3, 3, 1]
d) [3, 1, 25, 5, 20, 5, 4, 3]
20. Suppose listExample is [3, 4, 5, 20, 5, 25, 1, 3], what is list1 after listExample.extend([34,
5])?
a) [3, 4, 5, 20, 5, 25, 1, 3, 34, 5]
b) [1, 3, 3, 4, 5, 5, 20, 25, 34, 5]
c) [25, 20, 5, 5, 4, 3, 3, 1, 34, 5]
d) [1, 3, 4, 5, 20, 5, 25, 3, 34, 5]
21. Suppose listExample is [3, 4, 5, 20, 5, 25, 1, 3], what is list1 after listExample.pop(1)?
a) [3, 4, 5, 20, 5, 25, 1, 3]
b) [1, 3, 3, 4, 5, 5, 20, 25]
c) [3, 5, 20, 5, 25, 1, 3]
d) [1, 3, 4, 5, 20, 5, 25]
22. Suppose listExample is [3, 4, 5, 20, 5, 25, 1, 3], what is list1 after listExample.pop()?
a) [3, 4, 5, 20, 5, 25, 1]
b) [1, 3, 3, 4, 5, 5, 20, 25]
c) [3, 5, 20, 5, 25, 1, 3]
d) [1, 3, 4, 5, 20, 5, 25]
72 | P a g e
if myList[i] > max:
max = myList[i]
indexOfMax = i
print(indexOfMax)
a) 1
b) 2
c) 3
d) 4
29. which of the following the “in” operator can be used to check if an item is in it?
a) Lists
b) Dictionary
c) Set
d) All of the mentioned
73 | P a g e
31. What will be the output of the following Python code?
matrix = [[1, 2, 3, 4],
[4, 5, 6, 7],
[8, 9, 10, 11],
[12, 13, 14, 15]]
for i in range(0, 4):
print(matrix[i][1], end = " ")
a) 1 2 3 4
b) 4 5 6 7
c) 1 3 8 12
d) 2 5 9 13
74 | P a g e
b) Syntax error
c) [3,[7,8],6,1,2]
d) [3,4,6,7,8]
ANSWERS :
1.d 2.a 3.a 4.c 5.d 6.c 7.c 8.d 9.c 10.a 11.d 12.c 13.b 14.b 15.b 16.a
17.d 18.d 19.d 20.a 21.c 22.a 23.a 24.a
25.a 26.b 27.c 28.b 29.d 30.d 31.d 32.d 33.c 34.b
35.c 36.a 37.b 38.a 39.b
LIST COMPREHENSIVE
List comprehensions are used for creating new lists from other iterables.
As list comprehensions return lists, they consist of brackets containing the expression, which is
executed for each element along with the for loop to iterate over each element.
75 | P a g e
Example:
input_list = [1, 2, 3, 4, 4, 5, 6, 7, 7]
Output:
Output List using list comprehensions: [2, 4, 4, 6]
76 | P a g e
print(k)
a) all characters of my_string that aren‟t vowels
b) a list of Nones
c) list of Trues
d) list of Falses
77 | P a g e
10. Which of the following is the same as list(map(lambda x: x**-1, [1, 2, 3]))?
a) [x**-1 for x in [(1, 2, 3)]]
b) [1/x for x in [(1, 2, 3)]]
c) [1/x for x in (1, 2, 3)]
d) error
l1=[1,2,3]
l2=[4,5,6]
[x*y for x in l1 for y in l2]
a) [4, 8, 12, 5, 10, 15, 6, 12, 18]
b) [4, 10, 18]
c) [4, 5, 6, 8, 10, 12, 12, 15, 18]
d) [18, 12, 6, 15, 10, 5, 12, 8, 4]
12. Write the list comprehension to pick out only negative integers from a
given list „l‟.
a) [x<0 in l]
b) [x for x<0 in l]
c) [x in l for x<0]
d) [x for x in l if x<0]
13. Write a list comprehension for number and its cube for l=[1, 2, 3, 4, 5, 6, 7, 8, 9].
a) [x**3 for x in l]
b) [x^3 for x in l]
c) [x**3 in l]
d) [x^3 in l]
14. Read the information given below carefully and write a list comprehension such
that the output is: [„e‟, „o‟]
w="hello"
v=('a', 'e', 'i', 'o', 'u')
a) [x for w in v if x in v]
b) [x for x in w if x in v]
c) [x for x in v if w in v]
d) [x for v in w for x in w]
t=32.00
78 | P a g e
[round((x-32)*5/9) for x in t]
a) [0]
b) 0
c) [0.00]
d) Error
16. Write a list comprehension for producing a list of numbers between 1 and 1000
that are divisible by 3.
a) [x in range(1, 1000) if x%3==0]
b) [x for x in range(1000) if x%3==0]
c) [x%3 for x in range(1, 1000)]
d) [x%3=0 for x in range(1, 1000)]
18. What will be the output of the following Python list comprehension?
20. Write a list comprehension equivalent for the Python code shown below.
79 | P a g e
a) [i for i in range(1, 100) if int(i*0.5)==(i*0.5)]
b) [i for i in range(1, 101) if int(i*0.5)==(i*0.5)]
c) [i for i in range(1, 101) if int(i*0.5)=(i*0.5)]
d) [i for i in range(1, 100) if int(i*0.5)=(i*0.5)]
1.c 2.b 3.c 4.c 5.b 6.b 7.a 8.a 9.c 10.c 11.c 12.d 13.a
14.b 15.d 16.b 17.a 18.c 19.b 20.b
SETS
A set is a collection which is unordered and unindexed. In Python sets are written with
curly brackets.
Example
Create a Set:
thisset = {"apple", "banana", "cherry"}
print(thisset)
Access Items
You cannot access items in a set by referring to an index, since sets are unordered the items has no
index.
But you can loop through the set items using a for loop, or ask if a specified value is present in a set,
by using the in keyword.
Example
Loop through the set, and print the values:
thisset = {"apple", "banana", "cherry"}
for x in thisset:
print(x)
Change Items
Once a set is created, you cannot change its items, but you can add new items.
Add Items
To add one item to a set use the add() method.
To add more than one item to a set use the update() method.
Example
Add an item to a set, using the add() method:
thisset = {"apple", "banana", "cherry"}
thisset.add("orange")
80 | P a g e
print(thisset)
Example
Remove Item
Note: If the item to remove does not exist, remove() will raise an error.
Example
Remove "banana" by using the discard() method:
thisset = {"apple", "banana", "cherry"}
thisset.discard("banana")
print(thisset)
Note: If the item to remove does not exist, discard() will NOT raise an error.
You can also use the pop(), method to remove an item, but this method will remove the last item.
Remember that sets are unordered, so you will not know what item that gets removed.
Example
Remove the last item by using the pop() method:
thisset = {"apple", "banana", "cherry"}
x = thisset.pop()
print(x)
print(thisset)
Set Methods
Python has a set of built-in methods that you can use on sets.
Method Description
81 | P a g e
add() Adds an element to the set
difference() Returns a set containing the difference between two or more sets
difference_update() Removes the items in this set that are also included in another, specified set
intersection_update() Removes the items in this set that are not present in other, specified set(s)
symmetric_difference_update() inserts the symmetric differences from this set and another
update() Update the set with the union of this set and others
2. Which of the following is not the correct syntax for creating a set?
a) set([[1,2],[3,4]])
b) set([1,2,2,3,4])
c) set((1,2,3,4))
d) {1,2,3,4}
82 | P a g e
3. What will be the output of the following Python code?
nums = set([1,1,2,3,3,3,4,4])
print(len(nums))
a) 7
b) Error, invalid syntax for formation of set
c) 4
d) 8
83 | P a g e
10. What will be the output of the following Python code?
a={5,6,7,8}
b={7,8,10,11}
a^b
a) {5,6,7,8,10,11}
b) {7,8}
c) Error as unsupported operand type of set data type
d) {5,6,10,11}
^ operator returns a set of elements in set A or set B, but not in both (symmetric difference).
84 | P a g e
16. What will be the output of the following Python code?
>>> a={1,2,3}
>>> a.intersection_update({2,3,4,5})
>>> a
a) {2,3}
b) Error, duplicate item present in list
c) Error, no method called intersection_update for set data type
d) {1,4,5}
85 | P a g e
22. What will be the output of the following Python code?
a={1,2,3}
b={1,2,3}
c=a.issubset(b)
print(c)
a) True
b) Error, no method called issubset() exists
c) Syntax error for issubset() method
d) False
27. Which of the following functions will return the symmetric difference between two sets, x
and y?
a) x|y
b) x^y
c) x&y
d) x – y
28. What will be the output of the following Python code snippet?
z=set('abc$de')
'a' in z
a) True
86 | P a g e
b) False
c) Nooutput
d) Error
29. What will be the output of the following Python code snippet?
s=set([1, 2, 3])
s.union([4, 5])
s|([4, 5])
a) {1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
b) Error
{1, 2, 3, 4, 5}
c) {1, 2, 3, 4, 5}
Error
d) Error
Error
30. What will be the output of the following Python code snippet?
for x in set('pqr'):
print(x*2)
a) pp
qq
rr
b) pqr
pqr
c) ppqqrr
d) pqrpqr
31. What will be the output of the following Python code snippet?
{a**2 for a in range(4)}
a) {1,4,9,16}
b) {0,1,4,9,16}
c) Error
d) {0, 1, 4, 9}
32. The ____________ function removes the first element of a set and the last element of a list.
a) remove
b) pop
c) discard
d) dispose
33. The difference between the functions discard and remove is that:
a) Discard removes the last element of the set whereas remove removes the first element of the set
b) Discard throws an error if the specified element is not present in the set whereas remove does
not throw an error in case of absence of the specified element
c) Remove removes the last element of the set whereas discard removes the first element of the
set
d) Remove throws an error if the specified element is not present in the set whereas discard does
not throw an error in case of absence of the specified element
34. If we have two sets, s1 and s2, and we want to check if all the elements of s1 are present in s2
or not, we can use the function:
a) s2.issubset(s1)
b) s2.issuperset(s1)
87 | P a g e
c) s1.issuperset(s2)
d) s1.isset(s2)
35. What will be the output of the following Python code, if s1= {1, 2, 3}?
s1.issubset(s1)
a) True
b) Error
c) Nooutput
d) False
1.d 2.a 3.c 4.b 5.b 6.d 7.b 8.c 9.a 10.d 11.a 12.d 13.c
14.a 15.b 16.a 17.c 18.d 19.b 20.c 21.b 22.a 23.a 24.c
25.b 26.d 27.b 28.a 29.c 30.a 31.d 32.b 33.d
34.b 35.a
DICTIONARY
Example
Create and print a dictionary:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
print(thisdict)
Accessing Items
You can access the items of a dictionary by referring to its key name, inside square brackets:
Example
Get the value of the "model" key:
x = thisdict["model"]
There is also a method called get() that will give you the same result :
Example
Get the value of the "model" key:
x = thisdict.get("model")
88 | P a g e
Change Values
You can change the value of a specific item by referring to its key name:
Example
Change the "year" to 2018:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict["year"] = 2018
Example
Adding Items
Adding an item to the dictionary is done by using a new index key and assigning a value to it:
Example
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict["color"] = "red"
print(thisdict)
Removing Items
Example
The pop() method removes the item with the specified key name:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
89 | P a g e
thisdict.pop("model")
print(thisdict)
Example
The popitem() method removes the last inserted item (in versions before 3.7, a random item is
removed instead):
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict.popitem()
print(thisdict)
Example
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
del thisdict
print(thisdict) #this will cause an error because "thisdict" no longer exists.
Dictionary Methods
Python has a set of built-in methods that you can use on dictionaries
Method Description
items() Returns a list containing a tuple for each key value pair
setdefault() Returns the value of the specified key. If the key does not exist: insert the key, with the specified value
90 | P a g e
values() Returns a list of all the values in the dictionary
91 | P a g e
d) “peter”
7. Suppose d = {“john”:40, “peter”:45}, to delete the entry for “john” what command do we
use?
a) d.delete(“john”:40)
b) d.delete(“john”)
c) del d[“john”]
d) del d(“john”:40)
10. Suppose d = {“john”:40, “peter”:45}, what happens when we try to retrieve a value using
the expression d[“susan”]?
a) Since “susan” is not a value in the set, Python raises a KeyError exception
b) It is executed fine and no exception is raised, and it returns None
c) Since “susan” is not a key in the set, Python raises a KeyError exception
d) Since “susan” is not a key in the set, Python raises a syntax error
13. What will be the output of the following Python code snippet?
a={1:"A",2:"B",3:"C"}
for i,j in a.items():
print(i,j,end=" ")
a) 1A2B3C
b) 123
92 | P a g e
c) ABC
d) 1:”A” 2:”B” 3:”C”
14. What will be the output of the following Python code snippet?
a={1:"A",2:"B",3:"C"}
print(a.get(1,4))
a) 1
b) A
c) 4
d) Invalid syntax for get method
93 | P a g e
c) Error, syntax error for pop() method
d) {1: 5, 3: 4}
24. What will be the output of the following Python code snippet?
>>> a={1:"A",2:"B",3:"C"}
>>> del a
a) method del doesn‟t exist for the dictionary
b) del deletes the values in the dictionary
c) del deletes the entire dictionary
d) del deletes the keys in the dictionary
25. If a is a dictionary with some key-value pairs, what does a.popitem() do?
a) Removes an arbitrary element
b) Removes all the key-value pairs
c) Removes the key-value pair for the key given as an argument
d) Invalid method for dictionary
94 | P a g e
>>> sorted(a)
a) [„A‟,‟B‟,‟C‟]
b) [„B‟,‟C‟,‟A‟]
c) [5,7,9]
d) [9,5,7]
27. What will be the output of the following Python code?
>>> a={i: i*i for i in range(6)}
>>> a
a) Dictionary comprehension doesn‟t exist
b) {0:0,1:1,2:4,3:9,4:16,5:25,6:36}
c) {0:0,1:1,4:4,9:9,16:16,25:25}
d) {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
95 | P a g e
ANSWERS :
1.d 2.b 3.a 4.b 5.c 6.a 7.c 8.b 9.a 10.c 11.b 12.c 13.a 14.b 15.c 16.b
17.d 18.c 19.b 20.d 21.a 22.d 23.c 24.c 25.a 26.a 27.d 28.b 29.c
30.a 31.d 32.a
# PYTHON LAMBDA
A lambda function is a small anonymous function.
A lambda function can take any number of arguments, but can only have one expression.
Syntax
lambda arguments : expression
The expression is executed and the result is returned:
Example
A lambda function that adds 10 to the number passed in as an argument, and print the result:
x = lambda a : a + 10
print(x(5))
1.a2.b3.4.5.
UNIT 4
96 | P a g e
FILE HANDLING
File Handling
The key function for working with files in Python is the open() function.
The open() function takes two parameters; filename, and mode.
In addition you can specify if the file should be handled as binary or text mode
"t" - Text - Default value. Text mode
"b" - Binary - Binary mode (e.g. images)
Syntax
To open a file for reading it is enough to specify the name of the file:
f = open("demofile.txt")
The code above is the same as:
f = open("demofile.txt", "rt")
Because "r" for read, and "t" for text are the default values, you do not need to specify them.
Note: Make sure the file exists, or else you will get an error.
Open a File
Example
f = open("demofile.txt", "r")
print(f.read())
Close Files
It is a good practice to always close the file when you are done with it.
Example
Close the file when you are finish with it:
f = open("demofile.txt", "r")
print(f.readline())
f.close()
97 | P a g e
Write to an Existing File
To write to an existing file, you must add a parameter to the open() function:
"a" - Append - will append to the end of the file
"w" - Write - will overwrite any existing content
Example
Open the file "demofile2.txt" and append content to the file:
f = open("demofile2.txt", "a")
f.write("Now the file has more content!")
f.close()
To create a new file in Python, use the open() method, with one of the following parameters:
"x" - Create - will create a file, returns an error if the file exist
"a" - Append - will create a file if the specified file does not exist
"w" - Write - will create a file if the specified file does not exist
Example
Create a file called "myfile.txt":
f = open("myfile.txt", "x")
Delete a File
To delete a file, you must import the OS module, and run its os.remove() function:
Example
Remove the file "demofile.txt":
import os
os.remove("demofile.txt")
98 | P a g e
3. To open a file c:\scores.txt for appending data, we use ____________
a) outfile = open(“c:\\scores.txt”, “a”)
b) outfile = open(“c:\\scores.txt”, “rw”)
c) outfile = open(file = “c:\scores.txt”, “w”)
d) outfile = open(file = “c:\\scores.txt”, “w”)
6. To read the entire remaining contents of the file as a string from a file object infile, we use
____________
a) infile.read(2)
b) infile.read()
c) infile.readline()
d) infile.readlines()
f = None
for i in range (5):
with open("data.txt", "w") as f:
if i > 2:
break
print(f.closed)
a) True
b) False
c) None
d) Error
8. To read the next line of the file from a file object infile, we use ____________
a) infile.read(2)
b) infile.read()
c) infile.readline()
d) infile.readlines()
9. To read the remaining lines of the file from a file object infile, we use ____________
a) infile.read(2)
b) infile.read()
c) infile.readline()
d) infile.readlines()
99 | P a g e
10. The readlines() method returns ____________
a) str
b) a list of lines
c) a list of single characters
d) a list of integers
11. Which are the two built-in functions to read a line of text from standard input, which by default
comes from the keyboard?
a) Raw_input & Input
b) Input & Scan
c) Scan & Scanner
d) Scanner
a) closed
b) softspace
c) rename
d) mode
100 | P a g e
16. What is the current syntax of rename() a file?
a) rename(current_file_name, new_file_name)
b) rename(new_file_name, current_file_name,)
c) rename(()(current_file_name, new_file_name))
d) none of the mentioned
fo = open("foo.txt", "rw+")
print "Name of the file: ", fo.name
a) Compilation Error
b) Syntax Error
c) Displays Output
d) None of the mentioned
101 | P a g e
21. Which is/are the basic I/O connections in file?
a) Standard Input
b) Standard Output
c) Standard Errors
d) All of the mentioned
import sys
sys.stdout.write(' Hello\n')
sys.stdout.write('Python\n')
a) Compilation Error
b) Runtime Error
c) Hello Python
d) Hello
Python
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name
fo.flush()
fo.close()
a) Compilation Error
b) Runtime Error
c) No Output
102 | P a g e
d) Flushes the file when closing them
30. In file handling, what does this terms means “r, a”?
a) read, append
b) append, read
c) write, append
d) none of the mentioned
103 | P a g e
c) writestatement()
d) writefullline()
39. Which of the following are the modes of both writing and reading in binary format in file?
a) wb+
b) w
c) wb
d) w+
42. How do you get the name of a file from a file object (fp)?
a) fp.name
b) fp.file(name)
c) self.__name__(fp)
d) fp.__name__()
43. Which of the following is not a valid attribute of a file object (fp)?
a) fp.name
b) fp.closed
c) fp.mode
d) fp.size
45. How do you get the current position within the file?
a) fp.seek()
104 | P a g e
b) fp.tell()
c) fp.loc
d) fp.pos
48. How do you change the file position to an offset value from the start?
a) fp.seek(offset, 0)
b) fp.seek(offset, 1)
c) fp.seek(offset, 2)
d) none of the mentioned
1.b 2.b 3.a 4.d 5.a 6.b 7.a 8.c 9.d 10.b 11.a 12.a
The try block lets you test a block of code for errors.
The except block lets you handle the error.
The finally block lets you execute code, regardless of the result of the try- and except
blocks.
Exception Handling
When an error occurs, or exception as we call it, Python will normally stop and generate an error
message.
105 | P a g e
Example
The try block will generate an exception, because x is not defined:
try:
print(x)
except:
print("An exception occurred")
106 | P a g e
6. When is the finally block executed?
a) when there is no exception
b) when there is an exception
c) only if some condition that has been specified is satisfied
d) always
10. The following Python code will result in an error if the input value is entered as -5.
assert False, 'Spanish'
a) True
b) False
107 | P a g e
a) 8
b) 9
c) 7
d) Error
17. What happens if the file is not found in the following Python code?
a=Falsewhile not a:
try:
f_n = input("Enter file name")
i_f = open(f_n, 'r')
except:
print("Input file not found")
108 | P a g e
a) No error
b) Assertion error
c) Input output error
d) Name error
20. What will be the output of the following Python code, if the time module has already been
imported?
4 + '3'
a) NameError
b) IndexError
c) ValueError
d) TypeError
22. What will be the output of the following Python code if the input entered is 6?
valid = Falsewhile not valid:
try:
n=int(input("Enter a number"))
while n%2==0:
print("Bye")
valid = True
except ValueError:
print("Invalid")
a) Bye (printed once)
b) No output
c) Invalid (printed once)
d) Bye (printed infinite number of times)
109 | P a g e
d) Syntax, Semantic
29. Which of the following blocks will be executed whether an exception is thrown or not?
a) except
b) else
c) finally
d) assert
1.d 2.c 3.b 4.d 5.a 6.d 7.b 8.a 9.b 10.a 11.c 12.b
13.c 14.a 15.b 16.c 17.a 18.c 19.b 20.d 21.b 22.d
23.b 24.a 25.c 26.a 27.a 28.d 29.c
MODULES
Create a Module
110 | P a g e
To create a module just save the code you want in a file with the file extension .py:
Example
Save this code in a file named mymodule.py
def greeting(name):
print("Hello, " + name)
Use a Module
Now we can use the module we just created, by using the import statement:
Example
Import the module named mymodule, and call the greeting function:
import mymodule
mymodule.greeting("Jonathan")
Note: When using a function from a module, use the syntax: module_name.function_name.
Variables in Module
The module can contain functions, as already described, but also variables of all types (arrays,
dictionaries, objects etc):
Example
Save this code in the file mymodule.py
person1 = {
"name": "John",
"age": 36,
"country": "Norway"
}
Example
Import the module named mymodule, and access the person1 dictionary:
import mymodule
a = mymodule.person1["age"]
print(a)
111 | P a g e
3. Program code making use of a given module is called a ______ of the module.
a) Client
b) Docstring
c) Interface
d) Modularity
4. ______ is a string literal denoted by triple quotes for providing the specifications of certain
program elements.
a) Interface
b) Modularity
c) Client
d) Docstring
10. Which of the following is false about “import modulename” form of import?
a) The namespace of imported module becomes part of importing module
b) This form of import prevents name clash
c) The namespace of imported module becomes available to importing module
d) The identifiers in module are accessed as: modulename.identifier
112 | P a g e
aren‟t imported
b) dir() built-in function monitors the items in the namespace of the main module
c) In the “from-import” form of import, all identifiers regardless of whether they are private or public
are imported
d) When a module is loaded, a compiled version of the module with file extension .pyc is
automatically produced
14. What is the order of namespaces in which Python looks for an identifier?
a) Python first searches the global namespace, then the local namespace and finally the built-in
namespace
b) Python first searches the local namespace, then the global namespace and finally the built-in
namespace
c) Python first searches the built-in namespace, then the global namespace and finally the local
namespace
d) Python first searches the built-in namespace, then the local namespace and finally the global
namespace
1.b 2.c 3.a 4.d 5.c 6.b 7.b 8.d 9.b 10.a 11.b 12.c
13.d 14.b
CLASSES
Create a Class
To create a class, use the keyword class:
Example
Create a class named MyClass, with a property named x:
class MyClass:
x=5
113 | P a g e
Create Object
Now we can use the class named MyClass to create objects:
Example
Create an object named p1, and print the value of x:
p1 = MyClass()
print(p1.x)
Example
Create a class named Person, use the __init__() function to assign values for name and age:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("John", 36)
print(p1.name)
print(p1.age)
Object Methods
Objects can also contain methods. Methods in objects are functions that belong to the object.
Let us create a method in the Person class:
Example
Insert a function that prints a greeting, and execute it on the p1 object:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def myfunc(self):
print("Hello my name is " + self.name)
p1 = Person("John", 36)
p1.myfunc()
114 | P a g e
1. _____ represents an entity in the real world with its identity and behaviour.
a) A method
b) An object
c) A class
d) An operator
def display(self):
print(self.a)
obj=test()
obj.display()
a) The program has an error because constructor can‟t have default arguments
b) Nothing is displayed
c) “Hello World” is displayed
d) The program has an error display function doesn‟t have parameters
x = change(1,2,3)
y = getattr(x, 'a')setattr(x, 'a', y+1)print(x.a)
a) 6
b) 7
c) Error
d) 0
115 | P a g e
class test:
def __init__(self,a):
self.a=a
def display(self):
print(self.a)
obj=test()
obj.display()
a) Runs normally, doesn‟t display anything
b) Displays 0, which is the automatic default value
c) Error as one argument is required while creating the object
d) Error as display function requires additional argument
obj.quantity=10
obj.bags=2
print(obj.quantity+len(obj.__dict__))
a) 12
b) 52
c) 13
116 | P a g e
d) 60
12. The assignment of more than one function to a particular operator is _______
a) Operator over-assignment
b) Operator overriding
c) Operator overloading
d) Operator instance
15. What are the methods which begin and end with two underscore characters called?
a) Special methods
b) In-built methods
c) User-defined methods
d) Additional methods
117 | P a g e
19. What is delattr(obj,name) used for?
a) To print deleted attribute
b) To delete an attribute
c) To check if an attribute is deleted or not
d) To set an attribute
21. What does print(Test.__name__) display (assuming Test is the name of the class)?
a) ()
b) Exception is thrown
c) Test
d) __main__
ANSWERS :
1.b 2.b 3.c 4.b 5.a 6.b 7.c 8.a 9.c 10.d 11.c 12.c
13.a 14.b 15.a 16.b 17.c 18.c 19.b 20.a 21.c 22.a
INHERITANCE
Inheritance allows us to define a class that inherits all the methods and properties from another class.
Parent class is the class being inherited from, also called base class.
Child class is the class that inherits from another class, also called derived class.
Example
Create a class named Person, with firstname and lastname properties, and a printname method:
class Person:
118 | P a g e
def __init__(self, fname, lname):
self.firstname = fname
self.lastname = lname
def printname(self):
print(self.firstname, self.lastname)
#Use the Person class to create an object, and then execute the printname method:
x = Person("John", "Doe")
x.printname()
Example
Create a class named Student, which will inherit the properties and methods from the Person class:
class Student(Person):
pass
Note: Use the pass keyword when you do not want to add any other properties or methods to the class.
119 | P a g e
obj1 = Derived_Demo()
obj2 = Demo()
main()
a) Derived_Demo‟s __init__() invoked
Derived_Demo's __new__() invoked
Demo's __init__() invoked
Demo's __new__() invoked
b) Derived_Demo's __new__() invoked
Demo's __init__() invoked
Demo's __new__() invoked
c) Derived_Demo's __new__() invoked
Demo's __new__() invoked
d) Derived_Demo‟s __init__() invoked
Demo's __init__() invoked
7. When defining a subclass in Python that is meant to serve as a subtype, the subtype Python
keyword is used.
a) True
b) False
8. Suppose B is a subclass of A, to invoke the __init__ method in A from B, what is the line of
code you should write?
120 | P a g e
a) A.__init__(self)
b) B.__init__(self)
c) A.__init__(B)
d) B.__init__(A)
121 | P a g e
14. What will be the output of the following Python code?
class A:
def one(self):
return self.two()
def two(self):
return 'A'
class B(A):
def two(self):
return 'B'
obj1=A()
obj2=B()print(obj1.two(),obj2.two())
a) A A
b) A B
c) B B
d) An exception is thrown
def display(self):
print(self.__i, self.j)class B(A):
def __init__(self):
super().__init__()
122 | P a g e
self.__i = 2
self.j = 7
c = B()
c.display()
a) 2 7
b) 1 5
c) 1 7
d) 2 5
123 | P a g e
def display(self):
print(self._x)def main():
obj = B()
obj.display()
main()
a) Error, invalid syntax for object declaration
b) Nothing is printed
c) 5
d) Error, private class member can‟t be accessed in a subclass
main()
a) 5
b) Error, class member x has two values
c) 3
d) Error, protected class member can‟t be accessed in a subclass
View Answer
26. What will be the output of the following Python code?
class A:
def test1(self):
print(" test of A called ")class B(A):
def test(self):
print(" test of B called ")class C(A):
def test(self):
print(" test of C called ")class D(B,C):
def test2(self):
print(" test of D called ")
obj=D()
obj.test()
a)
test of B called
test of C called
b)
test of C called
test of B called
c) test of B called
d) Error, both the classes from which D derives has same method test()
124 | P a g e
print("test of B called")
super().test() class C(A):
def test(self):
print("test of C called")
super().test()class D(B,C):
def test2(self):
print("test of D called")
obj=D()
obj.test()
a) test of B called
test of C called
test of A called
b) test of C called
test of B called
c) test of B called
test of C called
d) Error, all the three classes from which D derives has same method test()
1.a 2.c 3.b 4.c 5.d 6.b 7.b 8.a 9.c 10.d 11.b 12.a 13.c 14.b
15.b 16.a 17.c 18.c 19.c 20.a 21.c 22.a 23.d 24.c 25.a 26.c
27.a
UNIT V
# Iterators
An iterator is an object that contains a countable number of values.
An iterator is an object that can be iterated upon, meaning that you can traverse through all the values.
Technically, in Python, an iterator is an object which implements the iterator protocol, which consist of
the methods __iter__() and __next__().
Create an Iterator
125 | P a g e
The __next__() method also allows you to do operations, and must return the next item in the
sequence.
Example
Create an iterator that returns numbers, starting with 1, and each sequence will increase by one
(returning 1,2,3,4,5 etc.):
class MyNumbers:
def __iter__(self):
self.a = 1
return self
def __next__(self):
x = self.a
self.a += 1
return x
myclass = MyNumbers()
myiter = iter(myclass)
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
# Recursion
Python also accepts function recursion, which means a defined function can call itself.
The developer should be very careful with recursion as it can be quite easy to slip into
writing a function which never terminates, or one that uses excess amounts of memory or
processor power. However, when written correctly recursion can be a very efficient and
mathematically-elegant approach to programming.
In this example, tri_recursion() is a function that we have defined to call itself ("recurse").
We use the k variable as the data, which decrements (-1) every time we recurse. The
recursion ends when the condition is not greater than 0 (i.e. when it is 0).
To a new developer it can take some time to work out how exactly this works, best way to
find out is by testing and modifying it.
Example
126 | P a g e
Recursion Example
def tri_recursion(k):
if(k > 0):
result = k + tri_recursion(k - 1)
print(result)
else:
result = 0
return result
Recursive Fibonacci
The first two terms are 0 and 1. All other terms are obtained by adding the preceding two
terms.This means to say the nth term is the sum of (n-1)th and (n-2)th term.
def Fibonacci(n):
if n<0:
print("Incorrect input")
# First Fibonacci number is 0
elif n==1:
return 0
# Second Fibonacci number is 1
elif n==2:
return 1
else:
return Fibonacci(n-1)+Fibonacci(n-2)
# Driver Program
print(Fibonacci(9))
Output:
21
Tower of Hanoi
Tower of Hanoi is a mathematical puzzle where we have three rods and n disks. The
objective of the puzzle is to move the entire stack to another rod, obeying the following
simple rules:
127 | P a g e
thought of as a fresh problem and can be solved in the same manner.
# Driver code
n=4
TowerOfHanoi(n,'A','B','C')
# A, C, B are the name of rods
Output:
2. Only problems that are recursively defined can be solved using recursion.
a)True
b) False
128 | P a g e
c) Recursive functions run faster than non-recursive function
d) Recursion makes programs easier to understand
4. Fill in the line of the following Python code for calculating the factorial of a number.
def fact(num):
if num == 0:
return 1
else:
return _____________________
a) num*fact(num-1)
b) (num-1)*(num-2)
c) num*(num-1)
d) fact(num)*fact(num-1)
a) 13
b) 7
c) Infinite loop
d) 17
a) 50
b) 100
c) 74
d) Infinite loop
129 | P a g e
b) False
10. What happens if the base condition isn‟t defined in recursive programs?
a) Program gets into an infinite loop
b) Program runs once
c) Program runs n number of times where n is the argument given to the function
d) An exception is thrown
a) 0 1 2 3
b) An exception is thrown
c) 0 1 1 2 3
d) 0 1 1 2
14. Suppose the first fibonnaci number is 0 and the second is 1. What is the sixth
fibonnaci number?
a) 5
b) 6
c) 7
d) 8
130 | P a g e
16. Which of the following option is wrong?
a) Fibonacci number can be calculated by using Dynamic programming
b) Fibonacci number can be calculated by using Recursion method
c) Fibonacci number can be calculated by using Iteration method
d) No method is defined to calculate Fibonacci number.
17. Which of the following recurrence relations can be used to find the nth fibonacci
number?
a) F(n) = F(n) + F(n – 1)
b) F(n) = F(n) + F(n + 1)
c) F(n) = F(n – 1)
d) F(n) = F(n – 1) + F(n – 2)
18. How many times will the function fibo() be called when the following code is executed?
int fibo(int n){
if(n == 1)
return 0;
else if(n == 2)
return 1;
return fibo(n - 1) + fibo(n - 2);}int main(){
int n = 5;
int ans = fibo(n);
printf("%d",ans);
return 0;}
a) 5
b) 6
c) 8
d) 9\
19. What is the output of the following code?
int fibo(int n){
if(n == 1)
return 0;
else if(n == 2)
return 1;
return fibo(n - 1) + fibo(n - 2);}int main(){
int n = 10;
int ans = fibo(n);
printf("%d",ans);
return 0;}
a) 21
b) 34
c) 55
d) 13
131 | P a g e
int n = 5;
int ans = fibo(n);
printf("%d",ans);
return 0;}
a) 1
b) 2
c) 3
d) 5
23. The time complexity of the solution tower of hanoi problem using recursion is _________
a) O(n2)
b) O(2n)
c) O(n log n)
d) O(n)
24. Recurrence equation formed for the tower of hanoi problem is given by _________
a) T(n) = 2T(n-1)+n
b) T(n) = 2T(n/2)+c
c) T(n) = 2T(n-1)+c
d) T(n) = 2T(n/2)+n
25. Minimum number of moves required to solve a tower of hanoi problem with n disks is
__________
a) 2n
b) 2n-1
c) n2
d) n2-1
132 | P a g e
b) Backtracking
c) Greedy algorithm
d) Divide and conquer
29. Minimum time required to solve tower of hanoi puzzle with 4 disks assuming one
move takes 2 seconds, will be __________
a) 15 seconds
b) 30 seconds
c) 16 seconds
d) 32 seconds
ANSWERS :
1.b 2.b 3.c 4.a 5.d 6.d 7.d 8.b 9.b 10.a 11.c 12.b
13.d 14.a 15.d 16.d 17.d 18.d 19.b 20.c 21.a 22.c
23.b 24.c 25.b 26.b 27.d 28.a 29.b
# Searching
Searching is a very basic necessity when you store data in different data structures. The
simplest appraoch is to go across every element in the data structure and match it with the
value you are searching for. This is known as Linear search. It is inefficient and rarely
used, but creating a program for it gives an idea about how we can implement some
advanced search algorithms.
1. Sequential Search: In this, the list or array is traversed sequentially and every element is checked.
For example: Linear Search.
2. Interval Search: These algorithms are specifically designed for searching in sorted data-structures.
These type of searching algorithms are much more efficient than Linear Search as they repeatedly
target the center of the search structure and divide the search space in half. For Example: Binary
Search.
Linear Search
Problem: Given an array arr[] of n elements, write a function to search a given element x in arr[].
Examples :
Input : arr[] = {10, 20, 80, 30, 60, 50,
110, 100, 130, 170}
x = 110;
Output : 6
Element x is present at index 6
133 | P a g e
Input : arr[] = {10, 20, 80, 30, 60, 50,
110, 100, 130, 170}
x = 175;
Output : -1
Element x is not present in arr[].
Start from the leftmost element of arr[] and one by one compare x with each element of arr[]
If x matches with an element, return the index.
If x doesn‟t match with any of elements, return -1.
# Driver Code
arr = [ 2, 3, 4, 10, 40 ];
x = 10;
n = len(arr);
result = search(arr, n, x)
if(result == -1):
print("Element is not present in array")
else:
print("Element is present at index", result);
Output:
Element is present at index 3
Binary Search
Given a sorted array arr[] of n elements, write a function to search a given element x in arr[].
A simple approach is to do linear search.The time complexity of above algorithm is O(n). Another
approach to perform the same task is using Binary Search.
Binary Search: Search a sorted array by repeatedly dividing the search interval in half. Begin with an
interval covering the whole array. If the value of the search key is less than the item in the middle of
the interval, narrow the interval to the lower half. Otherwise narrow it to the upper half. Repeatedly
check until the value is found or the interval is empty.
The idea of binary search is to use the information that the array is sorted and reduce the time
complexity to O(Log n).
134 | P a g e
We basically ignore half of the elements just after one comparison.
mid = l + (r - l) // 2
else:
# Element is not present in the array
return -1
# Driver Code
arr = [ 2, 3, 4, 10, 40 ]
x = 10
# Function call
result = binarySearch(arr, 0, len(arr)-1, x)
if result != -1:
print ("Element is present at index % d" % result)
else:
print ("Element is not present in array")
Output :
Element is present at index 3
135 | P a g e
1. Where is linear searching used?
a) When the list has only a few elements
b) When performing a single search in an unordered list
c) Used all the time
d) When the list has only a few elements and When performing a single search in an unordered list.
4. What is the best case and worst case complexity of ordered linear search?
a) O(nlogn), O(logn)
b) O(logn), O(nlogn)
c) O(n), O(1)
d) O(1), O(n)
136 | P a g e
d) O(nx)
10. The array is as follows: 1,2,3,6,8,10. At what time the element 6 is found? (By
using linear search(recursive) algorithm)
a) 4th call
b) 3rd call
c) 6th call
d) 5th call
11. The array is as follows: 1,2,3,6,8,10. Given that the number 17 is to be searched.
At which call it tells that there‟s no such element? (By using linear search(recursive)
algorithm)
a) 7th call
b) 9th call
c) 17th call
d) The function calls itself infinite number of times
13. Can linear search recursive algorithm and binary search recursive algorithm be
performed on an unordered list?
a) Binary search can‟t be used
b) Linear search can‟t be used
c) Both cannot be used
d) Both can be used
14. What is the recurrence relation for the linear search recursive algorithm?
a) T(n-2)+c
b) 2T(n-1)+c
c) T(n-1)+c
d) T(n+1)+c
137 | P a g e
c) Consumes more memory
d) More code has to be written
16. Given an input arr = {2,5,7,99,899}; key = 899; What is the level of recursion?
a) 5
b) 2
c) 3
d) 4
17. Given an array arr = {45,77,89,90,94,99,100} and key = 99; what are the mid
values(corresponding array elements) in the first and second levels of recursion?
a) 90 and 99
b) 90 and 94
c) 89 and 99
d) 89 and 94
18. What is the worst case complexity of binary search using recursion?
a) O(nlogn)
b) O(logn)
c) O(n)
d) O(n2)
19. What is the average case time complexity of binary search using recursion?
a) O(nlogn)
b) O(logn)
c) O(n)
d) O(n2)
22. Given an array arr = {5,6,77,88,99} and key = 88; How many iterations are done
until the element is found?
a) 1
b) 3
c) 4
d) 2
138 | P a g e
23. Given an array arr = {45,77,89,90,94,99,100} and key = 100; What are the mid
values(corresponding array elements) generated in the first and second iterations?
a) 90 and 99
b) 90 and 100
c) 89 and 94
d) 94 and 99
ANSWERS :
1.d 2.d 3.c 4.d 5.b 6.c 7.a 8.a 9.a 10.a 11.a 12.a 13.a 14.c
15.b 16.c 17.a 18.b 19.b 20.d 21.b 22.d 23.a 24.b
# Sorting
Sorting refers to arranging data in a particular format. Sorting algorithm specifies the way
to arrange data in a particular order. Most common orders are in numerical or
lexicographical order.
The importance of sorting lies in the fact that data searching can be optimized to a very
high level, if data is stored in a sorted manner. Sorting is also used to represent data in
more readable formats.
Selection Sort
In selection sort we start by finding the minimum value in a given list and move it to a
sorted list. Then we repeat the process for each of the remaining elements in the unsorted
list. The next element entering the sorted list is compared with the existing elements and
placed at its correct position. So at the end all the elements from the unsorted list are
sorted.
def selection_sort(input_list):
min_idx = idx
for j in range( idx +1, len(input_list)):
if input_list[min_idx] > input_list[j]:
139 | P a g e
min_idx = j# Swap the minimum value with the compared value
l = [19,2,31,45,30,11,121,27]
selection_sort(l)print(l)
Merge sort
Merge sort first divides the array into equal halves and then combines them in a sorted manner.
def merge_sort(unsorted_list):
if len(unsorted_list) <= 1:
return unsorted_list# Find the middle point and devide it
middle = len(unsorted_list) // 2
left_list = unsorted_list[:middle]
right_list = unsorted_list[middle:]
left_list = merge_sort(left_list)
right_list = merge_sort(right_list)
return list(merge(left_list, right_list))
# Merge the sorted halves
def merge(left_half,right_half):
res = []
while len(left_half) != 0 and len(right_half) != 0:
if left_half[0] < right_half[0]:
res.append(left_half[0])
left_half.remove(left_half[0])
else:
res.append(right_half[0])
right_half.remove(right_half[0])
if len(left_half) == 0:
res = res + right_half
else:
res = res + left_half
return res
140 | P a g e
MULTIPLE CHOICE QUESTIONS ANSWERS
7. The given array is arr = {3,4,5,2,1}. The number of iterations in bubble sort and
selection sort respectively are,
a) 5 and 4
b) 4 and 5
c) 2 and 4
d) 2 and 5
141 | P a g e
8. The given array is arr = {1,2,3,4,5}. (bubble sort is implemented with a flag
variable)The number of iterations in selection sort and bubble sort respectively are,
a) 5 and 4
b) 1 and 4
c) 0 and 4
d) 4 and 1
10. Merge sort uses which of the following technique to implement sorting?
a) backtracking
b) greedy algorithm
c) divide and conquer
d) dynamic programming
15. Which of the following method is used for sorting in merge sort?
a) merging
b) partitioning
c) selection
d) exchanging
142 | P a g e
16. What will be the best case time complexity of merge sort?
a) O(n log n)
b) O(n2)
c) O(n2 log n)
d) O(n log n2)
18. Choose the incorrect statement about merge sort from the following?
a) it is a comparison based sort
b) it is an adaptive algorithm
c) it is not an in place algorithm
d) it is stable algorithm
21. Which of the following stable sorting algorithm takes the least time when applied
to an almost sorted array?
a) Quick sort
b) Insertion sort
c) Selection sort
d) Merge sort
23. Which of the following sorting algorithm makes use of merge sort?
a) tim sort
b) intro sort
c) bogo sort
143 | P a g e
d) quick sort
24. Which of the following sorting algorithm does not use recursion?
a) quick sort
b) merge sort
c) heap sort
d) bottom up merge sort
ANSWERS :
1.a 2.c 3.d 4.a 5.d 6.b 7.a 8.d 9.d 10.c
11.a 12.c 13.a 14.a 15.a 16.a 17.a 18.b 19.a
20.a 21.d 22.b 23.a 24.d
144 | P a g e
145 | P a g e
AKTU RKC TECHNO FAMILY
ALL NOTES DOWNLOAD BY TELEGRAM CHANNEL
DOWNLOAD ▶
DOWNLOAD ▶
JOIN▶
Subscribe ▶
@ rst_year_aktu_student_gp
VIEW IN TELEGRAM
a.
x is of type: <class 'int'>
y is of type: <class 'float'>
20.6
x is of type: <class 'float'>
b.
x is of type: <class 'float'>
y is of type: <class 'float'>
20.6
x is of type: <class 'float'>
c. x is of type: <class 'float'>
y is of type: <class 'int'>
20.6
x is of type: <class 'float'>
d. None of the above
11. 1. Which is the correct operator for power(xy)?
a) X^y
b) X**y
c) X^^y
d) None of the mentioned
12. Which one of these is floor division?
a) /
b) //
c) %
d) None of the mentioned
13. What is the order of precedence in python?
i) Parentheses
ii) Exponential
iii) Multiplication
iv) Division
v) Addition
vi) Subtraction
a) i,ii,iii,iv,v,vi
b) ii,i,iii,iv,v,vi
c) ii,i,iv,iii,v,vi
d) i,ii,iii,iv,vi,v
14. What is the answer to this expression, 22 % 3 is?
a) 7
b) 1
c) 0
d) 5
15. 10. What is the value of the following expression?
float(22//3+3/3)
a)8
b)8.0
c)8.3
d) 8.33
16. What is the value of the following expression?
2+4.00, 2**4.0
a)(6.0,16.0)
b)(6.00,16.00)
c)(6,16)
d) (6.00, 16.0)
17. What will be the value of X in the following Python expression?
X = 2+9*((3*12)-8)/10
a)30.0
b)30.8
c)28.4
d) 27.2
18. What will be the output of the following Python expression if x=15 and y=12?
x&y
a)b1101
b)0b1101
c)12
d) 1101
19. What will be the output of the following Python code snippet if x=1?
x<<2
a)8
b)1
c)2
d) 4
20. What will be the output of the following Python code snippet?
not(3>4)
not(1&1)
a) True
True
b) True
False
c) False
False
d) None of the above
22 Which of the following Boolean expressions is not logically equivalent to the other three?
a) not(-6<0 or-6>10)
b) -6>=0 and -6<=10
c) not(-6<10 or-6==10)
d) not(-6>10 or-6==10)
23. What will be the output of the following Python code snippet?
not(10<20) and not(10>30)
a)True
b) False
c) Error
d) No output
24. What will be the output of the following Python code?
1. >>>str="hello"
2. >>>str[:2]
3. >>>
a)he
b)lo
c)olleh
d) hello
25. What error occurs when you execute the following Python code snippet?
apple = mango
a)SyntaxError
b)NameError
c)ValueError
d) TypeError
26. What will be the output of the following Python code snippet?
1. def example(a):
2. a = a + '2'
3. a = a*2
4. return a
5. >>>example("hello")
a) indentation Error
b) cannot perform mathematical operation on strings
c)hello2
d) hello2hello2
27. What is the average value of the following Python code snippet?
1. >>>grade1 = 80
2. >>>grade2 = 90
3. >>>average = (grade1 + grade2) / 2
a)85.0
b)85.1
c)95.0
d) 95.1
29. Which of the following expressions can be used to multiply a given number ‘a’ by 4?
a)a<<2
b)a<<4
c)a>>2
d) a>>4
30. What will be the output of the following Python code if a=10 and b =20?
a=10
b=20
a=a^b
b=a^b
a=a^b
print(a,b)
a) 10 20
b) 10 10
c) 20 10
d) 20 20
KNC 402 – Python Programming
Unit 2
MCQ
Topics
✓ Conditional
✓ Loops
1. What will never be printed as output regardless of the value of x in the following piece of
python code -
if x < 5 :
print('Less than 5')
elif x >= 2 :
print('5 or more')
else :
print('any range')
a) Less than 5
b) 5 or more
c) any range
d) None of the above
2- What will never be printed as output regardless of the value of x in the following piece of
python code –
if x < 5 :
print('Less than 5')
elif x < 25 :
print('Less than 25')
elif x < 15 :
print(‘Less than 15’)
else :
print('any range')
a) Less than 5
b) Less than 25
c) any range
d) Less than 15
3. What is the output of following python code –
a = True
b = False
c = False
if not a or b:
print('a')
elif not a or not b and c:#false or True and false
print('b')
elif not a or b or not b and a: #False or False or True
print('c')
else:
print('d')
1) a
2) b
3) c
4) d
4. What will be the output of the following program on execution?
if False:
print ("inside if block")
elif True:
print ("inside elif block")
else:
print ("inside else block")
A. inside if block
B. inside elif block
C. inside else block
D. Error
5. What will be the result of following Python code snippet after execution?
a=0
b=1
if (a and b):
print("hi")
elif(not(a)):
print("hello")
elif(b):
print("hi world")
else:
print("hello world")
A. hello world
B. hi
C. hi world
D. hello
6. Which of the following are in correct order with respect to conditional statements in Python?
(i) if
(ii) else
(iii) elif
A. i, iii, ii
B. ii, iii ,i
C. iii, ii, i
D. ii, i, iii
7. What will be the output of the following Python code?
x = ['ab', 'cd']
for i in x:
i.upper()
print(x)
a) [‘ab’, ‘cd’]
b) [‘AB’, ‘CD’]
c) [None, None]
d) none of the mentioned
8. What will be the output of the following Python code?
x = ['ab', 'cd']
for i in x:
x.append(i.upper())
print(x)
a) [‘AB’, ‘CD’]
b) [‘ab’, ‘cd’, ‘AB’, ‘CD’]
c) [‘ab’, ‘cd’]
d) none of the mentioned
9. What will be the output of the following Python code?
i=1
while True:
if i%3 == 0:
break
print(i)
i+=1
a) 1 2
b) 1 2 3
c) error
d) none of the mentioned
10. What will be the output of the following Python code?
i=1
while True:
if i%0O7 == 0:
break
print(i)
i += 1
a) 1 2 3 4 5 6
b) 1 2 3 4 5 6 7
c) error
d) none of the mentioned
11. What will be the output of the following Python code?
i=2
while True:
if i%3 == 0:
break
print(i)
i += 2
a) 2 4 6 8 10 …
b) 2 4
c) 2 3
d) error
12. What will be the output of the following Python code?
i=0
while i < 5:
print(i)
i += 1
if i == 3:
break
else:
print(0)
a) 0 1 2 0
b) 0 1 2
c) error
d) none of the mentioned
13. What will be the output of the following Python code?
x = "abcdef"
while i in x:
print(i, end=" ")
a) a b c d e f
b) abcdef
c) i i i i i i …
d) error
14. What will be the output of the following Python code?
x = "abcdef"
i = "a"
while i in x:
print(i, end = " ")
a) no output
b) i i i i i i …
c) a a a a a a …
d) a b c d e f
15. What will be the output of the following Python code?
x = 'abcd'
for i in x:
print(i.upper())
a) a b c d
b) A B C D
c) a B C D
d) error
16. What will be the output of the following Python code?
d = {0: 'a', 1: 'b', 2: 'c'}
for i in d:
print(i)
a) 0 1 2
b) a b c
c) 0 a 1 b 2 c
d) none of the mentioned
17. Which of the following is False regarding loops in Python?
A. Loops are used to perform certain tasks repeatedly.
B. While loop is used when multiple statements are to executed repeatedly until the given
condition becomes False
C. While loop is used when multiple statements are to executed repeatedly until the given
condition becomes True.
D. for loop can be used to iterate through the elements of lists.
str1="hello"
c=0
for x in str1:
if(x!="l"):
c=c+1
else:
pass
print(c)
A. 2
B. 0
C. 4
D. 3
21. What will be the output of the following Python code?
for i in range(0,2,-1):
print("Hello")
A. Hello
B. Hello Hello
C. No Output
D. Error
22. What will be the output of the following code?
x = "abcdef"
i = "i"
while i in x:
print(i, end=" ")
A. a b c d e f
B. abcdef
C. i i i i i.....
D. No Output
23. What will be the output of the following code?
x = 12
for i in x:
print(i)
A. 12
B. 1 2
C. Error
D. None of the above
24. What will be the output of the following Python code?
x = ['ab', 'cd']
for i in x:
i.upper()
print(x)
a) [‘ab’, ‘cd’]
b) [‘AB’, ‘CD’]
c) [None, None]
d) none of the mentioned
25. What will be the output of the following Python code?
i=1
while True:
if i%0O7 == 0:
break
print(i)
i += 1
a) 1 2 3 4 5 6
b) 1 2 3 4 5 6 7
c) error
d) none of the mentioned
26. What will be the output of the following Python code?
x = "abcdef"
while i in x:
print(i, end=" ")
a) a b c d e f
b) abcdef
c) i i i i i i …
d) error
27. What will be the output of the following Python code?
x = "abcdef"
i = "a"
while i in x:
x = x[:-1]
print(i, end = " ")
a) i i i i i i
b) a a a a a a
c) a a a a a
d) none of the mentioned
28. What will be the output of the following Python code?
x = 'abcd'
for i in x:
print(i.upper())
a) a b c d
b) A B C D
c) a B C D
d) error
29. What will be the output of the following Python code snippet?
for i in [1, 2, 3, 4][::-1]:
print (i)
a) 1 2 3 4
b) 4 3 2 1
c) error
d) none of the mentioned
30. What will be the output of the following Python code snippet?
for i in ''.join(reversed(list('abcd'))):
print (i)
a) a b c d
b) d c b a
c) error
d) none of the mentioned
KNC 402 – Python Programming
Unit 3
MCQ
Topics:
✓ Functions
✓ Strings
✓ Sequences
✓ Higher Order Functions
Answer: a
Explanation: Functions are reusable pieces of programs. They allow you to give a name to a
block of statements, allowing you to run that block using the specified name anywhere in your
program and any number of times.
x = 50
def func(x):
print('x is', x)
x=2
print('Changed local x to', x)
func(x)
print('x is now', x)
a)
x is 50
Changed local x to 2
x is now 50
b)
x is 50
Changed local x to 2
x is now 2
c)
x is 50
Changed local x to 2
x is now 100
d) None of the mentioned
Answer: a
Explanation: The first time that we print the value of the name x with the first line in the
function’s body, Python uses the value of the parameter declared in the main block, above the
function definition.
Next, we assign the value 2 to x. The name x is local to our function. So, when we change the
value of x in the function, the x defined in the main block remains unaffected.
With the last print function call, we display the value of x as defined in the main block, thereby
confirming that it is actually unaffected by the local assignment within the previously called
function.
func(3, 7)
func(25, c = 24)
func(c = 50, a = 100)
a)
a is 7 and b is 3 and c is 10
a is 25 and b is 5 and c is 24
a is 5 and b is 100 and c is 50
b)
a is 3 and b is 7 and c is 10
a is 5 and b is 25 and c is 24
a is 50 and b is 100 and c is 5
c)
a is 3 and b is 7 and c is 10
a is 25 and b is 5 and c is 24
a is 100 and b is 5 and c is 50
d) None of the mentioned
Answer: c
Explanation: If you have some functions with many parameters and you want to specify only
some of them, then you can give values for such parameters by naming them – this is called
keyword arguments – we use the name (keyword) instead of the position (which we have been
using all along) to specify the arguments to the function.
The function named func has one parameter without a default argument value, followed by two
parameters with default argument values.
In the first usage, func(3, 7), the parameter a gets the value 3, the parameter b gets the value 7
and c gets the default value of 10.
In the second usage func(25, c=24), the variable a gets the value of 25 due to the position of the
argument. Then, the parameter c gets the value of 24 due to naming i.e. keyword arguments. The
variable b gets the default value of 5.
In the third usage func(c=50, a=100), we use keyword arguments for all specified values. Notice
that we are specifying the value for parameter c before that for a even though a is defined before
c in the function definition.
Answer: d
Answer: b
Explanation: Built-in functions and user defined ones. The built-in functions are part of the
Python language. Examples are: dir(), len() or abs(). The user defined functions are functions
created with the def keyword.
Answer: d
Explanation: Functions can be defined inside a module, a class or another function.
7. Which of the following is the use of id() function in python?
a) Id returns the identity of the object
b) Every object doesn’t have a unique id
c) All of the mentioned
d) None of the mentioned
Answer: a
Explanation: Each object in Python has a unique id. The id() function returns the object’s id.
def sum(*args):
'''Function returns the sum
of all values'''
r=0
for i in args:
r += i
return r
print sum.__doc__
print sum(1, 2, 3)
print sum(1, 2, 3, 4, 5)
a)
6
15
b)
6
100
c)
123
12345
d) None of the mentioned
Answer: a
Explanation: We use the * operator to indicate, that the function will accept arbitrary number of
arguments. The sum() function will return the sum of all arguments. The first string in the
function body is called the function documentation string. It is used to document the function.
The string must be in triple quotes.
y=6
z = lambda x: x * y
print z(8)
a) 48
b) 14
c) 64
d) None of the mentioned
Answer: a
Explanation: The lambda keyword creates an anonymous function. The x is a parameter, that is
passed to the lambda function. The parameter is followed by a colon character. The code next to
the colon is the expression that is executed, when the lambda function is called. The lambda
function is assigned to the z variable.
The lambda function is executed. The number 8 is passed to the anonymous function and it
returns 48 as the result. Note that z is not a name for this function. It is only a variable to which
the anonymous function was assigned.
Answer: c
11. What will be the output of the following Python code snippet?
print('abcdefcdghcd'.split('cd', 2))
a) [‘ab’, ‘ef’, ‘ghcd’]
b) [‘ab’, ‘efcdghcd’]
c) [‘abcdef’, ‘ghcd’]
d) none of the mentioned
Answer: a
Explanation: The string is split into a maximum of maxsplit+1 substrings.
12. What will be the output of the following Python code snippet?
Answer: a
Explanation: The first 0 occurrences of the given substring are replaced.
13. What will be the output of the following Python code snippet?
print('1.1'.isnumeric())
a) True
b) False
c) None
d) Error
Answer: b
Explanation: The character . is not a numeric character.
Answer: b
Explanation: The function find() returns the position of the sunstring in the given string whereas
the in keyword returns a value of Boolean type.
print("xyyzxyzxzxyy".count('yy'))
a) 2
b) 0
c) error
d) none of the mentioned
Answer: a
Explanation: Counts the number of times the substring ‘yy’ is present in the given string.
16. If a class defines the __str__(self) method, for an object obj for the class, you can use which
command to invoke the __str__ method.
a) obj.__str__()
b) str(obj)
c) print obj
d) all of the mentioned
Answer: d
17.
What will be the output of the following Python code?
Answer: a
Explanation: The list comprehension shown above returns the ASCII value of each alphabet of
the string ‘abc’. Hence the output is: [97, 98, 99]. Had the string been ‘ABC’, the output would
be: [65, 66, 67].
18.
What will be the output of the following Python code?
t=32.00
[round((x-32)*5/9) for x in t]
a) [0]
b) 0
c) [0.00]
d) Error
Answer: d
Explanation: The value of t in the code shown above is equal to 32.00, which is a floating point
value. ‘Float’ objects are not iterable. Hence the code results in an error.
19.
Write a list comprehension equivalent for the Python code shown below.
Answer: b
Explanation: The code shown above prints the value ‘i’ only if it satisfies the condition:
int(i*0.5) is equal to (i*0.5). Hence the required list comprehension is: [i for i in range(1, 101) if
int(i*0.5)==(i*0.5)].
20.
What is the list comprehension equivalent for: list(map(lambda x:x**-1, [1, 2, 3]))?
a) [1|x for x in [1, 2, 3]]
b) [-1**x for x in [1, 2, 3]]
c) [x**-1 for x in [1, 2, 3]]
d) [x^-1 for x in range(4)]
Answer: c
Explanation: The output of the function list(map(lambda x:x**-1, [1, 2, 3])) is [1.0, 0.5,
0.3333333333333333] and that of the list comprehension [x**-1 for x in [1, 2, 3]] is [1.0, 0.5,
0.3333333333333333]. Hence the answer is: [x**-1 for x in [1, 2, 3]].
21.
Write a list comprehension to produce the list: [1, 2, 4, 8, 16……212].
a) [(2**x) for x in range(0, 13)]
b) [(x**2) for x in range(1, 13)]
c) [(2**x) for x in range(1, 13)]
d) [(x**2) for x in range(0, 13)]
Answer: a
Explanation: The required list comprehension will print the numbers from 1 to 12, each raised to
2. The required answer is thus, [(2**x) for x in range(0, 13)].
22.
What is the list comprehension equivalent for?
Answer: d
Explanation: The required list comprehension will print a whole number, less than 20, provided
that the number is even. Since the output list should contain zero as well, the answer to this
question is: [x for x in range(0, 20) if (x%2==0)].
23.
What will be the output of the following Python list comprehension?
Answer: c
Explanation: The list comprehension shown above returns a list of non-prime numbers up to 50.
The logic behind this is that the square root of 50 is almost equal to 7. Hence all the multiples of
2-7 are not prime in this range.
24.
What will be the output of the following Python code?
Answer: b
Explanation: The code shown above returns a new list containing only strings which do not have
any punctuation in them. The only string from the list which does not contain any punctuation is
‘good’. Hence the output of the code shown above is [‘good’].
25.
What is the output of the following piece of code?
a=list((45,)*4)
print((45)*4)
print(a)
a)
180
[(45),(45),(45),(45)]
b)
(45,45,45,45)
[45,45,45,45]
c)
180
[45,45,45,45]
d) Syntax error
Answer: c
Explanation: (45) is an int while (45,) is a tuple of one element. Thus when a tuple is multiplied,
it created references of itself which is later converted to a list.
26.
What will be the output of the following Python code?
lst=[[1,2],[3,4]]
print(sum(lst,[]))
a) [[3],[7]]
b) [1,2,3,4]
c) Error
d) [10]
Answer: b
Explanation: The above piece of code is used for flattening lists.
27.
What will be the output of the following Python code?
Answer: b
Explanation: places1 is an alias of the list places. Hence, any change made to places1 is reflected
in places. places2 is a copy of the list places. Thus, any change made to places2 isn’t reflected in
places.
28.
What will be the output of the following Python code?
x=[[1],[2]]
print(" ".join(list(map(str,x))))
a) [1] [2]
b) [49] [50]
c) Syntax error
d) [[1]] [[2]]
Answer: a
Explanation: The elements 1 and 2 are first put into separate lists and then combined with a
space in between using the join attribute.
29.
a= [1, 2, 3, 4, 5]
for i in range(1, 5):
a[i-1] = a[i]
for i in range(0, 5):
print(a[i],end = " ")
a) 5 5 1 2 3
b) 5 1 2 3 4
c) 2 3 4 5 1
d) 2 3 4 5 5
Answer: d
Explanation: The items having indexes from 1 to 4 are shifted forward by one index due to the
first for-loop and the item of index four is printed again because of the second for-loop.
30.
What will be the output of the following Python code?
a = [1, 5, 7, 9, 9, 1]
<br class="blank" />b=a[0]
<br class="blank" />x= 0
for x in range(1, len(a)):
if a[x] > b:
b = a[x]
b= x
print(b)
a) 5
b) 3
c) 4
d) 0
Answer: c
Explanation: The above piece of code basically prints the index of the largest element in the list
Topics:
✓ OOPS concept
✓ File Handling
✓ Exception and Assertions
✓ Modules
✓ Abstraction
Q1. Which of the following is correct with respect to OOP concept in Python?
A. Objects are real world entities while classes are not real.
B. Classes are real world entities while objects are not real.
C. Both objects and classes are real world entities.
D. Both object and classes are not real.
Ans: A
Explanation: In OOP, classes are basically the blueprint of the objects. They does not have
physical existence.
Q2. How many objects and reference variables are there for the given Python code?
class A:
print("Inside class")
A()
A()
obj=A()
A. 2 and 1
B. 3 and 3
C. 3 and 1
D. 3 and 2
Ans : C
Explanation: obj is the reference variable here and an object will be created each time A() is
called. So there will be 3 objects created.
class Student:
def __init__(self,name,id):
self.name=name
self.id=id
print(self.id)
std=Student("Simon",1)
std.id=2
print(std.id)
A. 1
1
B. 1
2
C. 2
1
D. 2
2
Ans: B
Explanation: When object with id =1 is created for Student, constructor is invoked and it prints
1. Later, id has been changed to 2, so next print statement prints 2.
obj1=A()
obj2=A(102)
print(obj1.count)
print(obj2.count)
A. 100
100
B. 100
102
C. 102
102
D. Error
Ans: B
Explanation: By default,the value of "count" is 100, so obj1.count=100. For second object,
value of "count" is 102, so obj2.count=102.
Ans: B
Explanation: Although both a1 and a2 have same value of attributes, but these two point to two
different object. Hence, their id will be different.
Ans: D
Explanation: In OOP of Python, function is known by "method".
Ans: D
Explanation: All of the above statement are true.
Q8. When a child class inherits from only one parent class, it is called?
A. single inheritance
B. singular inheritance
C. Multiple inheritance
D. Multilevel inheritance
Ans: A
Explanation: Single inheritance: When a child class inherits from only one parent class, it is
called single inheritance.
Ans: B
Explanation: Hybrid inheritance: This form combines more than one form of inheritance.
Basically, it is a blend of more than one type of inheritance.
Q10. Parent class is the class being inherited from, also called?
A. derived class
B. Child class
C. Hybrid class
D. base class
Ans: D
Explanation: Parent class is the class being inherited from, also called base class.
Q11. The child's __init__() function overrides the inheritance of the parent's __init__() function.
A. TRUE
B. FALSE
C. Can be true or false
D. Can’t say
Ans: A
Explanation: The child's __init__() function overrides the inheritance of the parent's __init__()
function.
Q12. __________function that will make the child class inherit all the methods and properties
from its parent
A. self
B. __init__()
C. super
D. pass
Ans: C
Explanation: Python also has a super() function that will make the child class inherit all the
methods and properties from its parent.
Ans: D
Explanation: In the above piece of code, the invoking method has been properly implemented
and hence x=1 and y=2.
A. 0
B. 1
C. more than one
D. more than zero
Ans: D
Explanation: There has to be at least one except statement.
Ans: A
Explanation: Each type of exception can be specified directly. There is no need to put it in a list.
Q.16 To open a file c:\scores.txt for reading, we use _____________
A. infile = open(“c:\scores.txt”, “r”)
B. infile = open(“c:\\scores.txt”, “r”)
C. infile = open(file = “c:\scores.txt”, “r”)
D. infile = open(file = “c:\\scores.txt”, “r”)
Ans: B
Explanation: Execute help(open) to get more details.
Ans: A
Explanation: ‘a’ is used to indicate that data is to be appended.
Ans: D
Explanation: all options are true.
Q.19 To read the entire remaining contents of the file as a string from a file object infile, we use
____________
A. infile.read(2)
B. infile.read()
C. infile.readline()
D. infile.readlines()
Ans: B
Explanation: read function is used to read all the lines in a file.
Q. 21. Which of the following is false about “import modulename” form of import?
Ans: A.
Explanation: In the “import modulename” form of import, the namespace of imported module
becomes available to, but not part of, the importing module.
A. 120
B. Nothing is printed
C. Error, method factorial doesn’t exist in math module
D. Error, the statement should be: print(factorial(5))
Ans: D
Explanation: In the “from-import” form of import, the imported identifiers (in this case
factorial()) aren’t specified along with the module name.
x=10
y=8
assert x>y, 'X too small'
A. Assertion Error
B. 10 8
C. No output
D. X too small
Ans: C.
Explanation: The code shown above results in an error if and only if x<y. However, in the above
case, since x>y, there is no error. Since there is no print statement, hence there is no output.
Ans: D
Explanation: Polymorphism is a feature of object-oriented programming languages. It allows for
the implementation of elegant software that is well designed and easily modified.
Q.25 Overriding means changing behaviour of methods of derived class methods in the base class.
A. True
B. False
Ans: B.
Explanation: Overriding means if there are two same methods present in the superclass and the
subclass, the contents of the subclass method are executed.
class A:
def __init__(self):
self.multiply(15)
def multiply(self, i):
self.i = 4 * i;
class B(A):
def __init__(self):
super().__init__()
print(self.i)
A. 15
B. 30
C. An exception is thrown
D. 60
Ans: B.
Explanation: The derived class B overrides base class A.
Ans: D.
Explanation: The derived class method two() overrides the method two() in the base class A.
Ans: A
Explanation: A public method in the base class can be overridden by the same named method in
the subclass.
Q.29 Which of the following is the most suitable definition for encapsulation?
A. Ability of a class to derive members of another class as a part of its own definition
B. Means of bundling instance variables and methods in order to restrict access to certain class
members
C. Focuses on variables and passing of variables to functions
D. Allows for implementation of elegant software that is well designed and easily modified
Ans: B
Explanation: The values assigned by the constructor to the class members is used to create the
object.
Ans: A
Explanation: In multi-level inheritance, a subclass derives from another class which itself is
derived from another class.
Topics:
✓ Iterators & Recursion: Recursive Fibonacci, Tower of Hanoi
✓ Search: Simple Search and Estimating Search Time, Binary Search and Estimating
Binary Search Time
✓ Sorting & Merging: Selection Sort, Merge List, Merge Sort, Higher Order Sort
3) The complexity of the sorting algorithm measures the …… as a function of the number n of items
to be sorter.
A. average time
B. running time
C. average-case complexity
D. case-complexity
ANS- B. running time
12) ………. is putting an element in the appropriate place in a sorted list yields a larger sorted order
list.
A. Insertion
B. Extraction
C. Selection
D. Distribution
ANS- A. Insertion
13) …………order is the best possible for array sorting algorithm which sorts n item.
A. O(n logn)
B. O(n2)
C. O(n+logn)
D. O(logn)
ANS- C. O(n+logn)
14) ……… is rearranging pairs of elements which are out of order, until no such pairs remain.
A. Insertion
B. Exchange
C. Selection
D. Distribution
ANS- B. Exchange
16) Which of the following sorting algorithm is of divide and conquer type?
A. Bubble sort
B. Insertion sort
C. Merge sort
D. Selection sort
ANS- C. Merge sort
17) …….. sorting algorithm is frequently used when n is small where n is total number of elements.
A. Heap
B. Insertion
C. Bubble
D. Quick
ANS- B. Insertion
18) Which of the following sorting algorithm is of priority queue sorting type?
A. Bubble sort
B. Insertion sort
C. Merge sort
D. Selection sort
ANS- D. Selection sort
19) Which of the following is not the required condition for a binary search algorithm?
A. The list must be sorted
B. There should be direct access to the middle element in any sublist
C. There must be a mechanism to delete and/or insert elements in the list.
D. Number values should only be present
ANS- C. There must be a mechanism to delete and/or insert elements in the list.
20) Partition and exchange sort is ……..
A. quick sort
B. tree sort
C. heap sort
D. bubble sort
ANS- A. quick sort
23) Fill in the line of the following Python code for calculating the factorial of a number.
a) num*fact(num-1)
b) (num-1)*(num-2)
c) num*(num-1)
d) fact(num)*fact(num-1)
ANS- a
Explanation: Suppose n=5 then, 5*4*3*2*1 is returned which is the factorial of 5.
a. 50
b. 100
c. 74
d. Infinite loop
ANS-b. 100
ANS- b
Explanation: Recursive functions may be hard to debug as the logic behind recursion may be hard to
follow.
28) Only problems that are recursively defined can be solved using recursion.
a) True
b) False
ANS- b
Explanation: There are many other problems can also be solved using recursion.
a) 13
b) 7
c) Infinite loop
d) 17
ANS- d
Explanation: The test(i-1,i+j) part of the function keeps calling the function until the base condition of
the function is satisfied.
30) What happens if the base condition isn’t defined in recursive programs?
a) Program gets into an infinite loop
b) Program runs once
c) Program runs n number of times where n is the argument given to the function
d) An exception is thrown
ANS-a
Explanation: The program will run until the system gets out of memory.
7/16/2021 MCQ-03 [KNC-402 (PYTHON PROGRAMMING LANGUAGE)] 2020-21
Time:- 30 min
Instructions:
1. Email *
2. Name *
3. Roll Number *
https://docs.google.com/forms/d/10CHSdg6zjkuqBBpChwFEVoDN2dMf5taUJxRjHzzdCIo/edit 1/12
7/16/2021 MCQ-03 [KNC-402 (PYTHON PROGRAMMING LANGUAGE)] 2020-21
4. Branch *
CSE-II
IT-II
ME-II
CE-II
AG-II
BT-II
EC-II
EE-II
5. What is the data type of m after the following statement? m = (41, 54, 23, 68)
Dictionary
Tuple
String
List
6. What is the data type of m after the following statement? m = ['July', 'September', 'December']
Dictionary
Tuple
List
String
https://docs.google.com/forms/d/10CHSdg6zjkuqBBpChwFEVoDN2dMf5taUJxRjHzzdCIo/edit 2/12
7/16/2021 MCQ-03 [KNC-402 (PYTHON PROGRAMMING LANGUAGE)] 2020-21
7. What will be the output after the following statements? m = ['July', 'September', 'December'] n =m[1]
print(n)
[‘July’, ‘September’,‘December’]
July
September
December
8. What will be the output after the following statements? m = [45, 51, 67] n = m[2] print(n)
67
51
45
9. What will be the output after the following statements? m = [75, 23, 64] n = m[0] + m[1] print(n)
75
23
64
98
https://docs.google.com/forms/d/10CHSdg6zjkuqBBpChwFEVoDN2dMf5taUJxRjHzzdCIo/edit 3/12
7/16/2021 MCQ-03 [KNC-402 (PYTHON PROGRAMMING LANGUAGE)] 2020-21
10. What will be the output after the following statements? m = ['July', 'September', 'December'] n = m[0]
+ m[2] print(n)
July
JulyDecember
JulySeptember
SeptemberDecember
11. What will be the output after the following statements? m = [25, 34, 70, 63] n = m[2] - m[0] print(n)
25
45
70
34
12. What will be the output after the following statements? m = [25, 34, 70, 63] n = str(m[1]) +str(m[2])
print(n)
2534
95
104
3470
https://docs.google.com/forms/d/10CHSdg6zjkuqBBpChwFEVoDN2dMf5taUJxRjHzzdCIo/edit 4/12
7/16/2021 MCQ-03 [KNC-402 (PYTHON PROGRAMMING LANGUAGE)] 2020-21
13. What will be the data type of m after the following statement? m = [90, 'A', 115, 'B', 250]
List
String
Dictionary
Tuple
14. What will be the data type of m after the following statement? m = 'World Wide Web'
List
String
Dictionary
Tuple
15. What will be the data type of m after the following statement? m = {'Listen' :'Music', 'Play' : 'Games'}
List
Set
Dictionary
Tuple
https://docs.google.com/forms/d/10CHSdg6zjkuqBBpChwFEVoDN2dMf5taUJxRjHzzdCIo/edit 5/12
7/16/2021 MCQ-03 [KNC-402 (PYTHON PROGRAMMING LANGUAGE)] 2020-21
16. What will be the data type of m after the following statement? m = {'A', 'F', 'R', 'Y'}
List
Set
Dictionary
Tuple
17. What will be the output after the following statements? m = {'Listen' :'Music', 'Play' : 'Games'}
print(m.keys())
dict_keys([‘Listen’,‘Play’])
dict_keys([‘Music’,‘Games’])
dict_keys({‘Listen’ :‘Games’})
18. What will be the output after the following statements? m = {'Listen' :'Music', 'Play' : 'Games'}
print(m.values())
dict_keys([‘Listen’,‘Play’])
dict_values([‘Music’,‘Games’])
dict_values({‘Listen’ :‘Games’})
https://docs.google.com/forms/d/10CHSdg6zjkuqBBpChwFEVoDN2dMf5taUJxRjHzzdCIo/edit 6/12
7/16/2021 MCQ-03 [KNC-402 (PYTHON PROGRAMMING LANGUAGE)] 2020-21
19. What will be the output after the following statements? m = {'Listen' :'Music', 'Play' : 'Games'} n =
m['Play'] print(n)
Listen
Music
Play
Games
20. What will be the output after the following statements? m = {'Listen' :'Music', 'Play' : 'Games'} n =
list(m.values()) print(n[0])
Listen
Music
Play
Games
21. What will be the output after the following statements? m = {'Listen' :'Music', 'Play' : 'Games'} n =
list(m.items()) print(n)
[(‘Listen’,‘Music’)]
[(‘Play’,‘Games’)]
https://docs.google.com/forms/d/10CHSdg6zjkuqBBpChwFEVoDN2dMf5taUJxRjHzzdCIo/edit 7/12
7/16/2021 MCQ-03 [KNC-402 (PYTHON PROGRAMMING LANGUAGE)] 2020-21
22. What will be the output after the following statements? m = 36 if m > 19: print(100)
36
19
100
23. What will be the output after the following statements? m = 50 if m > 50: print(25) else: print(75)
50
75
25
24. What will be the output after the following statements? m = 8 if m > 7: print(50) elif m == 7:
print(60) else: print(70)
50
60
70
https://docs.google.com/forms/d/10CHSdg6zjkuqBBpChwFEVoDN2dMf5taUJxRjHzzdCIo/edit 8/12
7/16/2021 MCQ-03 [KNC-402 (PYTHON PROGRAMMING LANGUAGE)] 2020-21
25. What will be the output after the following statements? m =85 n =17 print(m / n)
5.5
6.0
5.0
26. What will be the output after the following statements? m =57 n =19 o = m == n print(o)
19
True
False
57
27. What will be the output after the following statements? m = 33 if m > 33: print('A') elif m == 30:
print('B') else:print('C')
33
https://docs.google.com/forms/d/10CHSdg6zjkuqBBpChwFEVoDN2dMf5taUJxRjHzzdCIo/edit 9/12
7/16/2021 MCQ-03 [KNC-402 (PYTHON PROGRAMMING LANGUAGE)] 2020-21
28. What will be the output after the following statements? m = 6 while m <11: print(m, end='') m = m +1
6789
5678910
678910
56789
29. What will be the output after the following statements? m, n = 2, 5 while n < 10: print(n, end='') m, n =
n, m + n
25
58
579
57
30. What will be the output after the following statements? m = {'m', 'n', 'o', 'p'} if 'n' in m: print('n', end='
')
mnop
m n op
https://docs.google.com/forms/d/10CHSdg6zjkuqBBpChwFEVoDN2dMf5taUJxRjHzzdCIo/edit 10/12
7/16/2021 MCQ-03 [KNC-402 (PYTHON PROGRAMMING LANGUAGE)] 2020-21
31. What will be the output after the following statements? m = {45 : 75, 55 : 85} for n, o in m.items():
print(n, o, end=' ')
45:75, 55:85
{45:75, 55:85}
45 55 75 85
45 75 5585
32. What will be the output after the following statements? for m in range(6,9): if m == 8: continue
print(m, end='')
67
679
678
6789
33. What will be the output after the following statements? def p(m, n) : return m / n o = p(50, 5)
print(o)
50 / 5
10.0
10
https://docs.google.com/forms/d/10CHSdg6zjkuqBBpChwFEVoDN2dMf5taUJxRjHzzdCIo/edit 11/12
7/16/2021 MCQ-03 [KNC-402 (PYTHON PROGRAMMING LANGUAGE)] 2020-21
34. What will be the output after the following statements? m = {'Listen' :'Music', 'Play' : 'Games'} n =
m['Music'] print(n)
Music
KeyError
m['Music']
Listen
Forms
https://docs.google.com/forms/d/10CHSdg6zjkuqBBpChwFEVoDN2dMf5taUJxRjHzzdCIo/edit 12/12
→Telegram Channel
→Telegram Group
Multiple Choice Questions(MCQ’s)
1|P a g e
PYTHON PROGRAMING (KNC – 402)
UNIT 1
2|P a g e
8. What is used to define a block of code in Python?
A. Parenthesis
B. Indentation
C. Curly braces
D. None of the above
3|P a g e
16. Which of the following is an invalid variable?
a) my_string_1
b) 1st_string
c) foo
d) _
17. Why are local variable names beginning with an underscore discouraged?
a) they are used to indicate a private variables of a class
b) they confuse the interpreter
c) they are used to indicate global variables
d) they slow down execution
24. Given a function that does not return any value, What value is thrown by default when
executed in shell.
a) int
b) bool
c) void
4|P a g e
d) None
>>>str="hello"
>>>str[:2]
a) he
b) lo
c) olleh
d) hello
28. In python we do not specify types, it is directly interpreted by the compiler, so consider the
following operation to be performed.
>>>x = 13 ? 2
objective is to make sure x has a integer value, select all that apply (python 3.xx)
a) x = 13 // 2
b) x = int(13 / 2)
c) x = 13 % 2
d) All of the mentioned
29. What error occurs when you execute the following Python code snippet?
apple = mango
a) SyntaxError
b) NameError
c) ValueError
d) TypeError
30. What will be the output of the following Python code snippet?
def example(a):
a = a + '2'
a = a*2
return a
>>>example("hello")
a) indentation Error
5|P a g e
b) cannot perform mathematical operation on strings
c) hello2
d) hello2hello2
32. In order to store values in terms of key and value we use what core data type.
a) list
b) tuple
c) class
d) dictionary
34. The following is displayed by a print function call. Select all of the function calls that result
in this output.
1. tom
2. dick
3. harry
a) print('''tom
\ndick
\nharry''')
b) print(”’tomdickharry”’)
c) print(‘tom\ndick\nharry’)
d) print('tom
dick
harry')
35. What is the average value of the following Python code snippet?
>>>grade1 = 80
>>>grade2 = 90
>>>average = (grade1 + grade2) / 2
a) 85.0
b) 85.1
c) 95.0
d) 95.1
6|P a g e
b) print(‘hello’, ‘how’, ‘are’, ‘you’ + ‘-‘ * 4)
c) print(‘hello-‘ + ‘how-are-you’)
d) print(‘hello’ + ‘-‘ + ‘how’ + ‘-‘ + ‘are’ + ‘you’)
38. How we can convert the given list into the set ?
a) list.set()
b) set.list()
c) set(list)
d) None of the above
42. Which of the following can convert the string to float number ?
a) str(float,x)
b) float(str,int)
c) int(float(str))
d) float(str)
43. Which of the following function are used to convert the string into the list ?
a) map()
b) convertor()
c) split()
d) lambda
7|P a g e
a) int
b) list
c) dictionary
d) All of the above
ANSWERS
1.a 2.c 3.a 4.b 5.a 6.b 7.d 8.b 9.c 10.b 11.b 12.c 13.a 14.d 15.d
16.b 17.a (As Python has no concept of private variables, leading underscores are used to indicate
variables that must not be accessed from outside the class.) 18.a (eval can be used as a variable)
19.d 20.a 21b 22.b 23.d 24.d 25.a 26.a 27.a 28.d
29.b 30.a 31.a 32.d 33.c 34.c 35.a 36.c 37.a 38.c
39.c 40.d 41.c 42.d 43.c 44.d 45.d 46.d
8|P a g e
5. Mathematical operations can be performed on a string.
a) True
b) False
10. Which one of the following has the highest precedence in the expression?
a) Exponential
b) Addition
c) Multiplication
d) Parentheses
9|P a g e
15. What does ~~~~~~5 evaluate to?
a) +5
b) -11
c) +11
d) -5
21. What will be the output of the following Python code snippet if x=1?
x<<2
a) 8
b) 1
c) 2
d) 4
23. What will be the value of x in the following Python expression, if the result of
10 | P a g e
that expression is 2?
x>>2
a) 8
b) 4
c) 2
d) 1
24. What will be the output of the following Python expression if x=15 and y=12?
x&y
a) b1101
b) 0b1101
c) 12
d) 1101
26. Bitwise _________ gives 1 if either of the bits is 1 and 0 when both of the bits are
1.
a) OR
b) AND
c) XOR
d) NOT
28. What will be the output of the following Python code if a=10 and b =20?
a=10
b=20
a=a^b
b=a^b
a=a^bprint(a,b)
a) 10 20
b) 10 10
c) 20 10
d) 20 20
11 | P a g e
~100?
a) 101
b) -101
c) 100
d) -100
30. The value of the expressions 4/(3*(2-1)) and 4/3*(2-1) is the same.
a) True
b) False
33. Which of the following operators has its associativity from right to left?
a) +
b) //
c) %
d) **
12 | P a g e
b) %
c) //
d) |
42. Which of the following expressions involves coercion when evaluated in Python?
a) 4.7 – 1.5
b) 7.9 * 6.3
c) 1.7 % 2
d) 3.4 + 4.6
13 | P a g e
43. What will be the output of the following Python expression?
24//6%3, 24//4//2
a) (1,3)
b) (0,3)
c) (1,0)
d) (3,1)
44. Which among the following list of operators has the highest precedence?
+, -, **, %, /, <<, >>, |
a) <<, >>
b) **
c) |
d) %
14 | P a g e
ANSWERS:
1.b 2.b 3.a 4.b 5.b 6.a 7.c 8.a 9.a 10.d 11.b 12.c
13.c 14.a 15.a 16.d 17.a 18.d 19.d 20.d 21.d 22.b
23.a 24.c 25.b 26.c 27.c 28.c 29.b 30.a 31.b 32.b
33.d 34.b 35.a 36.c 37.d 38.a 39.b 40.b 41.d 42.c
43.a 44.b 45.c 46.a 47.d 48.b 49.b
15 | P a g e
UNIT II
a. Yes
b. No
c. if/else not used in python
d. None of the above
16 | P a g e
a. pq
b. rs
c. pqrs
d. pq12
a. if a = b:
b. if a == b:
c. if a === c:
d. if a == b
11. What will be the output of given Python code?
str1="hello"
c=0
for x in str1:
if(x!="l"):
c=c+1
else:
pass print(c)
a. 2
b. 0
c. 4
d. 3
12. What does the following code print to the console?
if 5 > 10:
print("fan")
elif 8 != 9:
print("glass")
else:
print("cream")
a. Cream
B. Glass
c. Fan
d. No output
17 | P a g e
a. usa b. ireland
c.colombia d. None of the above
18 | P a g e
print("Audi")
a. Nissan b. Ford
c. BMW d. Audi
1.a 2.a 3.a 4.b 5.c 6.c 7.a (Yes, we can write if/else in one
line. For eg i = 5 if a > 7 else 0. So, option A is correct.) 8.b 9.a ( If condition
is true so pq will be the output. So, option A is correct.) 10.b 11.d 12.b
13.c 14.a 15.d 16.c 17.b (The first elif that is True will be
executed when multiple elif statements are True.) 18.a (1 does not equal True, but it's
considered True in a boolean context. Values that are considered True in a boolean
context are called "truthy" and values that are considered False in a boolean context are
called "falsy".) 19. c 20. D
19 | P a g e
1.Which of the following is the loop in python ?
A. For
B. while
C. do while
D.1 and 2
7. What is the final value of the i after this, for i in range(3): pass
A. 1
B. 2
C. 3
D. 0
20 | P a g e
A. a b c d
B. A B C D
C. a B C D
D. error
13. What will be the output of the following Python code snippet?
x = 'abcd'
for i in range(len(x)):
x = 'a'
print(x)
A. a
B. abcd abcd abcd
C. a a a a
D. None of the mentioned
21 | P a g e
15. What will be the output of the following Python code?
x = 123
for i in x:
print(i)
A. 1 2 3
B. 123
C. error
D. None of the mentioned
17. What will be the output of the following Python code snippet?
for i in [1, 2, 3, 4][::-1]:
print (i)
A. 1234
B. 4321
C. error
D. none of the mentioned
A. 0.0 1.0
B. 0 1
C. error
D. none of the mentioned
19. What will be the output of the following Python code snippet?
x=2
for i in range(x):
x += 1
print (x)
A. 01234
B. 01
C. 3 4
D. 0 1 2 3
20. What will be the output of the following Python code snippet?
x=2
for i in range(x):
x -= 2
22 | P a g e
print (x)
A. 01234
B. 0 -2
C. 30
D. Error
A. 0 1 2 3 4 Here
B. 0 1 2 3 4 5 Here
C. 0 1 2 3 4
D. 0 1 2 3 4 5
ANSWERS :
1. D 2. C 3. A 4. A 5. D 6. C 7. B 8. D 9. B 10.
A 11. B 12.D ( The loop does not terminate as new elements are being added to the list in
each iteration.) 13.C ( range() is computed only at the time of entering the loop.) 14.D
15.C (Objects of type int are not iterable.) 16. C ( Object of type float cannot be
interpreted as an integer.) 17.B 18.B 19.C 20.B 21.C
23 | P a g e
B. 1
C. 3
D. infinite
A. no output
B. i i i i i i …
C. a b c d e f
D. abcdef
A. 123456
B. 1234567
C. error
D. none of the mentioned
A. True
24 | P a g e
B. False
C. None
D. none of the mentioned
A. 0120
B. 012
C. None
D. none of the mentioned
A. a b c d e f
B. Abcdef
C. i i i i i i...
D. Error
A. a a a a a a
B. a a a a
C. i i i i i i
D. None of the mentioned
A. 1 2
B. 1 2 3
C. Error
D. None of the mentioned
25 | P a g e
i=1
while True: if i%O.7 == 0: break print(i) i += 1
A. 1 2 3 4 5 6
B. 1 2 3 4 5 6 7
C. Error
D. None of the mentioned
A. 5 6 7 8 9 10
B. 5 6 7 8
C. 5 6
D. Error
A. 1
B. 1 2
C. 1 2 3 4 5 6 ....
D. 1 3 5 7 9 11 ....
A. 2 4 6 8 10 ....
B. 2 4
C. 2 3
D. Error
26 | P a g e
A. 1
B. 1 3 5 7 ...
C. 1 2 3 4 ....
D. none of the mentioned
A. true
B. false
C. error
D. none of the mentioned
A. 0 1 2 0
B. 0 1 2
C. error
D. none of the mentioned
A. 0 1 2 3 0
B. 0 1 2 0
C. 0 1 2
D. error
A. a a a a a a
27 | P a g e
B. a
C. no output
D. error
ANSWERS :
A. 4.5
B. 5
C. 4
D. 4.6
A. (x**y)**z
B. (x**y)/z
C. (x**y)%z
D. (x**y)*z
A. Error
B. True
C. False
D. 0
A. Error
28 | P a g e
B. True
C. False
D. 4>2
A. Error
B. -5
C. 5
D. 5.0
A. Error,6
B. 12, Error
C. 12,6
D. Error, Error
A. 2
B. False
C. -3
D. -4
A. a Error
B. ‘a’ Error
C. Error a
D. Error Error
A. Error
B. 1
C. 2j
D. 1+2j
11. The function divmod(a,b), where both ‘a’ and ‘b’ are integers is evaluated as:
A. (a%b,a//b)
B. (a//b,a%b)
C. (a//b,a*b)
D. (a/b,a%b)
29 | P a g e
A. Error
B. [(1,2),(2,3)]
C. [(0,2),(1,3)]
D. [(2,3)]
13. Which of the following functions does not necessarily accept only iterables as arguments?
A. enumerate()
B. all()
C. chr()
D. max()
A. ord()
B. min()
C. chr()
D. any()
15. Which of the following functions will not result in an error when no arguments are passed
to it?
A. min()
B. divmod()
C. all()
D. float()
A. f
B. OxF
C. OXf
D. Oxf
A. 4
B. 3
C. Error
D. 6
30 | P a g e
B. Define
C. Def
D. Function
def sayHello():
print('Hello World!')
sayHello()
sayHello()
A. 3
B. 4
C. 4 is maximum
D. None of the mentioned
A. x is now 50
B. x is now 2
C. x is now 100
D. None of the mentioned
31 | P a g e
say('Hello')
say('World', 5)
A. Hello WorldWorldWorldWorldWorld
B. Hello World 5
C. Hello World,World,World,World,World
D. Hello HelloHelloHelloHelloHello
32 | P a g e
A. Id returns the identity of the object
B. Every object doesn’t have a unique id
C. All of the mentioned
D. None of the mentioned
def cube(x):
return x * x * x
x = cube(3)
print x
A. 9
B. 3
C. 27
D. 30
def C2F(c):
return c * 9/5 + 32
print C2F(100)
print C2F(0)
A. 212
32
B. 314
24
C. 567
98
D. None of the mentioned
33 | P a g e
A. 212
32
B. 9
27
C. 567
98
D. None of the mentioned.
37. How many keyword arguments can be passed to a function in a single function call?
A. zero
B. one
C. zero or more
D. one or more
34 | P a g e
return total
total = 0print(foo())
A. 0
B. 1
C. error
D. none of the mentioned
35 | P a g e
x+=1
print(x)
x=12print("x")
A. Error
B. 13
C. 13
x
D. X
36 | P a g e
D. 5 10 15 40
53. Read the following Python code carefully and point out the global variables?
y, z = 1, 2def f():
global x
x = y+z
A. x
B. y and z
C. x, y and z
D. Neither x, nor y, nor z
54. Which of the following data structures is returned by the functions globals() and locals()?
37 | P a g e
A. list
B. set
C. dictionary
D. tuple
56. What happens if a local variable exists with the same name as the global variable you want to
access?
A. Error
B. The local variable is shadowed.
C. Undefined behavior.
D. The global variable is shadowed.
ANSWERS :
38 | P a g e
"abcd"[2:]
a)a
b)ab
c)cd
d) dc
Answer: c
3. The output of executing string.ascii_letters can also be achieved by:
a) string.ascii_lowercase_string.digits
b) string.ascii_lowercase+string.ascii_upercase
c) string.letters
d) string.lowercase_string.upercase
Answer: b
a) olleh
b) hello
c) h
d) o
Answer: d
5. What arithmetic operators cannot be used with strings?
a)+
b)*
c) –
d) All of the mentioned
Answer: c
6. What will be the output of the following Python code?
>>>print (r"\nhello")
a) a new line and hello
b) \nhello
c) the letter r and then hello
d) error
Answer: b
7. What will be the output of the following Python statement?
>>>print('new' 'line')
a) Error
b) Output equivalent to print ‘new\nline’
c) newline
d) new line
Answer: c
8. What will be the output of the following Python code?
>>>str1="helloworld"
>>>str1[::-1]
a) dlrowolleh
b) hello
c) world
d) helloworld
Answer: a
9. print(0xA + 0xB + 0xC):
39 | P a g e
a) 0xA0xB0xC
b) Error
c) 0x22
d) 33
Answer: d
10. What will be the output of the following Python code?
>>>example = "snow world"
>>>print("%s" % example[4:7])
a) wo
b) world
c) sn
d) rl
Answer: a
11. What will be the output of the following Python code?
>>>example = "snow world"
>>>example[3] = 's'
>>>print example
a) snow
b) snow world
c) Error
d) snos world
Answer: c
40 | P a g e
>>example="helloworld"
>>example[::-1].startswith("d")
a) dlrowolleh
b) True
c) -1
d) None
Answer: b
17. To concatenate two strings to a third what statements are applicable?
a)s3=s1s2
b)s3=s1.add(s2)
c)s3=s1.__add__(s2)
d) s3 = s1 * s2
Answer: c
Explanation: __add__ is another method that can be used for concatenation.
18. Which of the following statement prints hello\example\test.txt?
a)print(“hello\example\test.txt”)
b)print(“hello\\example\\test.txt”)
c)print(“hello\”example\”test.txt”)
d) print(“hello”\example”\test.txt”)
Answer: b
Explanation: \is used to indicate that the next \ is not an escape sequence.
19. Suppose s is “\t\tWorld\n”, what is s.strip()?
a)\t\tWorld\n
b)\t\tWorld\n
c)\t\tWORLD\n
d) World
Answer: d
20. The format function, when applied on a string returns ___________
a) Error
b) int
c) bool
d) str
Answer: d
21. What will be the output of the “hello” +1+2+3?
a) hello123
b) hello
c) Error
d) hello6
Answer: c
22. What will be the output of the following Python code?
>>>print("D", end = ' ')
>>>print("C", end = ' ')
>>>print("B", end = ' ')
>>>print("A", end = ' ')
a) DCBA
b) A,B,C,D
c) DCBA
d) D, C, B, A will be displayed on four lines
Answer: c
23. What will be displayed by print(ord(‘b’) – ord(‘a’))?
a)0
b)1
c)-1
41 | P a g e
d) 2
Answer: b
Explanation: ASCII value of b is one more than a. Hence the output of this code is 98-97, which is
equal to 1.
24. Say s=”hello” what will be the return value of type(s)?
a) int
b) bool
c) str
d) String
Answer: c
25. What is “Hello”.replace(“l”, “e”)?
a) Heeeo
b) Heelo
c) Heleo
d) None
26. To retrieve the character at index 3 from string s=”Hello” what command do we execute
(multiple answers allowed)?
a) s[]
b) s.getitem(3)
c) s.__getitem__(3)
d) s.getItem(3)
27. To return the length of string s what command do we execute?
a) s.__len__()
b) len(s)
c) size(s)
d) s.size()
28. Suppose i is 5 and j is 4, i + j is same as ________
a) i.__add(j)
b) i.__add__(j)
c) i.__Add(j)
d) i.__ADD(j)
42 | P a g e
32. What will be the output of the following Python code?
print("xyyzxyzxzxyy".count('yy', 2))
a) 2
b) 0
c) 1
d) none of the mentioned
Explanation: Counts the number of times the substring ‘yy’ is present in the given string, starting from
position 2.
33. What will be the output of the following Python code?
print("xyyzxyzxzxyy".endswith("xyy"))
a) 1
b) True
c) 3
d) 2
34. What will be the output of the following Python code?
print("abcdef".find("cd"))
a) True
b) 2
c) 3
d) None of the mentioned
43 | P a g e
d) Error
40. What will be the output of the following Python code snippet?
print('for'.isidentifier())
a) True
b) False
c) None
d) Error
41. What will be the output of the following Python code snippet?
print('abc'.islower())
a) True
b) False
c) None
d) Error
42. What will be the output of the following Python code snippet?
print('11'.isnumeric())
a) True
b) False
c) None
d) Error
43. What will be the output of the following Python code snippet?
print('HelloWorld'.istitle())
a) True
b) False
c) None
d) Error
44. What will be the output of the following Python code snippet?
print('abcdef12'.replace('cd', '12'))
a) ab12ef12
b) abcdef12
c) ab12efcd
d) none of the mentioned
45. What will be the output of the following Python code snippet?
print('Ab!2'.swapcase())
a) AB!@
b) ab12
c) aB!2
d) aB1@
ANSWERS :
1.d 2.c 3.b 4.d 5.c 6.b 7.c 8.a 9.d 10.a 11.c 12.d 13.a
14.c 15.b 16.b 17.c 18.b 19.d 20.d 21.c 22.c 23.b
24.c 25.a 26.c 27.a 28.b 29.a 30.c 31.a 32.c 33.b
34.b 35.a 36.a 37.a 38.b 39.b 40.a 41.a 42.a 43.b
44.a 45.c
44 | P a g e
MULTIPLE CHOICE QUESTIONS ANSWERS
45 | P a g e
d) “peter”
46 | P a g e
d) Error, < operator is valid for tuples but not if there are sub-tuples
47 | P a g e
c)(0,1)
d) (0,2)
48 | P a g e
24. Is the following Python code valid?
a=2,3,4,5
a
a)Yes, 2 is printed
b)Yes, [2,3,4,5] is printed
c)No, too many values to unpack
d) Yes, (2,3,4,5) is printed
1.b 2.b 3.c 4.c 5.c 6.a 7.a 8.b 9.d(Tuples are immutable and
don’t have an append method. An exception is thrown in this case.) 10.b 11.d
12.a 13.c 14.d 15.c 16.c 17.b 18.c 19.a 20.c(A tuple
needn’t be enclosed in parenthesis.) 21.c (For unpacking to happen, the number of
values of the right hand side must be equal to the number of variables on the left hand
side.) 22.b 23.c 24.d 25.d (A tuple is immutable thus it doesn’t have
a sort attribute.) 26.c (Tuple doesn’t have any update() attribute because it is
immutable.) 27.a (A list of tuples is a list itself. Hence items of a list can be
sorted.)
49 | P a g e
MULTIPLE CHOICE QUESTIONS ANSWERS
8. Suppose list1 is [4, 2, 2, 4, 5, 2, 1, 0], Which of the following is correct syntax for slicing
operation?
a) print(list1[0])
b) print(list1[:2])
c) print(list1[:-2])
d) all of the mentioned
50 | P a g e
9. Suppose list1 is [2, 33, 222, 14, 25], What is list1[-1]?
a) Error
b) None
c) 25
d) 2
10. Suppose list1 is [2, 33, 222, 14, 25], What is list1[:-1]?
a) [2, 33, 222, 14]
b) Error
c) 25
d) [25, 14, 222, 33, 2]
51 | P a g e
17. Suppose list1 is [3, 4, 5, 20, 5], what is list1.index(5)?
a) 0
b) 1
c) 4
d) 2
19. Suppose list1 is [3, 4, 5, 20, 5, 25, 1, 3], what is list1 after list1.reverse()?
a) [3, 4, 5, 20, 5, 25, 1, 3]
b) [1, 3, 3, 4, 5, 5, 20, 25]
c) [25, 20, 5, 5, 4, 3, 3, 1]
d) [3, 1, 25, 5, 20, 5, 4, 3]
20. Suppose listExample is [3, 4, 5, 20, 5, 25, 1, 3], what is list1 after listExample.extend([34,
5])?
a) [3, 4, 5, 20, 5, 25, 1, 3, 34, 5]
b) [1, 3, 3, 4, 5, 5, 20, 25, 34, 5]
c) [25, 20, 5, 5, 4, 3, 3, 1, 34, 5]
d) [1, 3, 4, 5, 20, 5, 25, 3, 34, 5]
21. Suppose listExample is [3, 4, 5, 20, 5, 25, 1, 3], what is list1 after listExample.pop(1)?
a) [3, 4, 5, 20, 5, 25, 1, 3]
b) [1, 3, 3, 4, 5, 5, 20, 25]
c) [3, 5, 20, 5, 25, 1, 3]
d) [1, 3, 4, 5, 20, 5, 25]
22. Suppose listExample is [3, 4, 5, 20, 5, 25, 1, 3], what is list1 after listExample.pop()?
a) [3, 4, 5, 20, 5, 25, 1]
b) [1, 3, 3, 4, 5, 5, 20, 25]
c) [3, 5, 20, 5, 25, 1, 3]
d) [1, 3, 4, 5, 20, 5, 25]
52 | P a g e
indexOfMax = 0
for i in range(1, len(myList)):
if myList[i] > max:
max = myList[i]
indexOfMax = i
print(indexOfMax)
a) 1
b) 2
c) 3
d) 4
29. which of the following the “in” operator can be used to check if an item is in it?
a) Lists
b) Dictionary
c) Set
d) All of the mentioned
53 | P a g e
c) 5
d) 8
54 | P a g e
print(lst)
a) [3, 7, 8, 6, 1, 2]
b) Syntax error
c) [3,[7,8],6,1,2]
d) [3,4,6,7,8]
ANSWERS :
1.d 2.a 3.a 4.c 5.d 6.c 7.c 8.d 9.c 10.a 11.d 12.c 13.b 14.b 15.b 16.a
17.d 18.d 19.d 20.a 21.c 22.a 23.a 24.a
25.a 26.b 27.c 28.b 29.d 30.d 31.d 32.d 33.c 34.b
35.c 36.a 37.b 38.a 39.b
55 | P a g e
d) [0.0, 0.5, 1.0, 1.5, 2.0]
56 | P a g e
7. What will be the output of the following Python code snippet?
10. Which of the following is the same as list(map(lambda x: x**-1, [1, 2, 3]))?
a) [x**-1 for x in [(1, 2, 3)]]
b) [1/x for x in [(1, 2, 3)]]
c) [1/x for x in (1, 2, 3)]
d) error
l1=[1,2,3]
l2=[4,5,6]
[x*y for x in l1 for y in l2]
a) [4, 8, 12, 5, 10, 15, 6, 12, 18]
b) [4, 10, 18]
c) [4, 5, 6, 8, 10, 12, 12, 15, 18]
d) [18, 12, 6, 15, 10, 5, 12, 8, 4]
12. Write the list comprehension to pick out only negative integers from a
given list ‘l’.
57 | P a g e
a) [x<0 in l]
b) [x for x<0 in l]
c) [x in l for x<0]
d) [x for x in l if x<0]
13. Write a list comprehension for number and its cube for l=[1, 2, 3, 4, 5, 6, 7, 8, 9].
a) [x**3 for x in l]
b) [x^3 for x in l]
c) [x**3 in l]
d) [x^3 in l]
14. Read the information given below carefully and write a list comprehension such
that the output is: [‘e’, ‘o’]
w="hello"
v=('a', 'e', 'i', 'o', 'u')
a) [x for w in v if x in v]
b) [x for x in w if x in v]
c) [x for x in v if w in v]
d) [x for v in w for x in w]
t=32.00
[round((x-32)*5/9) for x in t]
a) [0]
b) 0
c) [0.00]
d) Error
16. Write a list comprehension for producing a list of numbers between 1 and 1000
that are divisible by 3.
a) [x in range(1, 1000) if x%3==0]
b) [x for x in range(1000) if x%3==0]
c) [x%3 for x in range(1, 1000)]
d) [x%3=0 for x in range(1, 1000)]
58 | P a g e
18. What will be the output of the following Python list comprehension?
20. Write a list comprehension equivalent for the Python code shown below.
1.c 2.b 3.c 4.c 5.b 6.b 7.a 8.a 9.c 10.c 11.c 12.d 13.a
14.b 15.d 16.b 17.a 18.c 19.b 20.b
2. Which of the following is not the correct syntax for creating a set?
a) set([[1,2],[3,4]])
b) set([1,2,2,3,4])
59 | P a g e
c) set((1,2,3,4))
d) {1,2,3,4}
60 | P a g e
c) Error as unsupported operand type for set data type
d) Error as the duplicate item 6 is present in both sets
61 | P a g e
d) Error, duplicate item present in list
62 | P a g e
c) 6
d) Nothing is displayed
27. Which of the following functions will return the symmetric difference between two sets, x
and y?
a) x|y
b) x^y
c) x&y
d) x – y
28. What will be the output of the following Python code snippet?
z=set('abc$de')
63 | P a g e
'a' in z
a) True
b) False
c) Nooutput
d) Error
29. What will be the output of the following Python code snippet?
s=set([1, 2, 3])
s.union([4, 5])
s|([4, 5])
a) {1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
b) Error
{1, 2, 3, 4, 5}
c) {1, 2, 3, 4, 5}
Error
d) Error
Error
30. What will be the output of the following Python code snippet?
for x in set('pqr'):
print(x*2)
a) pp
qq
rr
b) pqr
pqr
c) ppqqrr
d) pqrpqr
31. What will be the output of the following Python code snippet?
{a**2 for a in range(4)}
a) {1,4,9,16}
b) {0,1,4,9,16}
c) Error
d) {0, 1, 4, 9}
32. The ____________ function removes the first element of a set and the last element of a list.
a) remove
b) pop
c) discard
d) dispose
33. The difference between the functions discard and remove is that:
a) Discard removes the last element of the set whereas remove removes the first element of the set
b) Discard throws an error if the specified element is not present in the set whereas remove does
not throw an error in case of absence of the specified element
c) Remove removes the last element of the set whereas discard removes the first element of the
set
d) Remove throws an error if the specified element is not present in the set whereas discard does
not throw an error in case of absence of the specified element
34. If we have two sets, s1 and s2, and we want to check if all the elements of s1 are present in s2
or not, we can use the function:
64 | P a g e
a) s2.issubset(s1)
b) s2.issuperset(s1)
c) s1.issuperset(s2)
d) s1.isset(s2)
35. What will be the output of the following Python code, if s1= {1, 2, 3}?
s1.issubset(s1)
a) True
b) Error
c) Nooutput
d) False
1.d 2.a 3.c 4.b 5.b 6.d 7.b 8.c 9.a 10.d 11.a 12.d 13.c
14.a 15.b 16.a 17.c 18.d 19.b 20.c 21.b 22.a 23.a 24.c
25.b 26.d 27.b 28.a 29.c 30.a 31.d 32.b 33.d
34.b 35.a
65 | P a g e
5. What will be the output of the following Python code snippet?
d1 = {"john":40, "peter":45}
d2 = {"john":466, "peter":45}
d1 > d2
a) True
b) False
c) Error
d) None
7. Suppose d = {“john”:40, “peter”:45}, to delete the entry for “john” what command do we
use?
a) d.delete(“john”:40)
b) d.delete(“john”)
c) del d[“john”]
d) del d(“john”:40)
10. Suppose d = {“john”:40, “peter”:45}, what happens when we try to retrieve a value using
the expression d[“susan”]?
a) Since “susan” is not a value in the set, Python raises a KeyError exception
b) It is executed fine and no exception is raised, and it returns None
c) Since “susan” is not a key in the set, Python raises a KeyError exception
d) Since “susan” is not a key in the set, Python raises a syntax error
66 | P a g e
12. Which of the following is not a declaration of the dictionary?
a) {1:‘A’,2:‘B’}
b) dict([[1,”A”],[2,”B”]])
c) {1,”A”,2”B”}
d) { }
13. What will be the output of the following Python code snippet?
a={1:"A",2:"B",3:"C"}
for i,j in a.items():
print(i,j,end=" ")
a) 1A2B3C
b) 123
c) ABC
d) 1:”A” 2:”B” 3:”C”
14. What will be the output of the following Python code snippet?
a={1:"A",2:"B",3:"C"}
print(a.get(1,4))
a) 1
b) A
c) 4
d) Invalid syntax for get method
67 | P a g e
18. Which of the following isn’t true about dictionary keys?
a) More than one key isn’t allowed
b) Keys must be immutable
c) Keys must be integers
d) When duplicate keys encountered, the last assignment wins
24. What will be the output of the following Python code snippet?
>>> a={1:"A",2:"B",3:"C"}
>>> del a
a) method del doesn’t exist for the dictionary
68 | P a g e
b) del deletes the values in the dictionary
c) del deletes the entire dictionary
d) del deletes the keys in the dictionary
25. If a is a dictionary with some key-value pairs, what does a.popitem() do?
a) Removes an arbitrary element
b) Removes all the key-value pairs
c) Removes the key-value pair for the key given as an argument
d) Invalid method for dictionary
69 | P a g e
b) An exception is thrown
c) {‘a’:‘b’:‘c’:}
d) {1: ‘a’, 2: ‘b’, 3: ‘c’}
ANSWERS :
1.d 2.b 3.a 4.b 5.c 6.a 7.c 8.b 9.a 10.c 11.b 12.c 13.a 14.b 15.c 16.b
17.d 18.c 19.b 20.d 21.a 22.d 23.c 24.c 25.a 26.a 27.d 28.b 29.c
30.a 31.d 32.a
1.a2.b3.4.5.
70 | P a g e
b) outfile = open(“c:\\scores.txt”, “w”)
c) outfile = open(file = “c:\scores.txt”, “w”)
d) outfile = open(file = “c:\\scores.txt”, “w”)
6. To read the entire remaining contents of the file as a string from a file object infile, we use
____________
a) infile.read(2)
b) infile.read()
c) infile.readline()
d) infile.readlines()
f = None
for i in range (5):
with open("data.txt", "w") as f:
if i > 2:
break
print(f.closed)
a) True
b) False
c) None
d) Error
8. To read the next line of the file from a file object infile, we use ____________
a) infile.read(2)
b) infile.read()
c) infile.readline()
d) infile.readlines()
9. To read the remaining lines of the file from a file object infile, we use ____________
a) infile.read(2)
71 | P a g e
b) infile.read()
c) infile.readline()
d) infile.readlines()
11. Which are the two built-in functions to read a line of text from standard input, which by default
comes from the keyboard?
a) Raw_input & Input
b) Input & Scan
c) Scan & Scanner
d) Scanner
a) closed
b) softspace
c) rename
d) mode
72 | P a g e
a) tells you the current position within the file
b) tells you the end position within the file
c) tells you the file is opened or not
d) none of the mentioned
a) rename(current_file_name, new_file_name)
b) rename(new_file_name, current_file_name,)
c) rename(()(current_file_name, new_file_name))
d) none of the mentioned
fo = open("foo.txt", "rw+")
print "Name of the file: ", fo.name
a) Compilation Error
b) Syntax Error
c) Displays Output
d) None of the mentioned
73 | P a g e
a) truncates the file size
b) deletes the content of the file
c) deletes the file size
d) none of the mentioned.
import sys
sys.stdout.write(' Hello\n')
sys.stdout.write('Python\n')
a) Compilation Error
b) Runtime Error
c) Hello Python
d) Hello
Python
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name
fo.flush()
fo.close()
74 | P a g e
a) Compilation Error
b) Runtime Error
c) No Output
d) Flushes the file when closing them
30. In file handling, what does this terms means “r, a”?
a) read, append
b) append, read
c) write, append
d) none of the mentioned
75 | P a g e
36. Which function is used to write a list of string in a file?
a) writeline()
b) writelines()
c) writestatement()
d) writefullline()
39. Which of the following are the modes of both writing and reading in binary format in file?
a) wb+
b) w
c) wb
d) w+
42. How do you get the name of a file from a file object (fp)?
a) fp.name
b) fp.file(name)
c) self.__name__(fp)
d) fp.__name__()
43. Which of the following is not a valid attribute of a file object (fp)?
a) fp.name
b) fp.closed
c) fp.mode
d) fp.size
76 | P a g e
c) fp.close()
d) fp.__close__()
45. How do you get the current position within the file?
a) fp.seek()
b) fp.tell()
c) fp.loc
d) fp.pos
48. How do you change the file position to an offset value from the start?
a) fp.seek(offset, 0)
b) fp.seek(offset, 1)
c) fp.seek(offset, 2)
d) none of the mentioned
77 | P a g e
b) no, finally cannot be used with except
c) no, finally must come before except
d) yes
78 | P a g e
c) an TypeError occurs
d) a ValueError occurs
10. The following Python code will result in an error if the input value is entered as -5.
assert False, 'Spanish'
a) True
b) False
79 | P a g e
l2=[4, 5, 6]
l=itertools.chain(l1, l2)print(next(l1))
a) ‘list’ object is not iterator
b) ‘tuple’ object is not iterator
c) ‘list’ object is iterator
d) ‘tuple’ object is iterator
17. What happens if the file is not found in the following Python code?
a=Falsewhile not a:
try:
f_n = input("Enter file name")
i_f = open(f_n, 'r')
except:
print("Input file not found")
a) No error
b) Assertion error
c) Input output error
d) Name error
20. What will be the output of the following Python code, if the time module has already been
imported?
4 + '3'
a) NameError
b) IndexError
c) ValueError
d) TypeError
80 | P a g e
22. What will be the output of the following Python code if the input entered is 6?
valid = Falsewhile not valid:
try:
n=int(input("Enter a number"))
while n%2==0:
print("Bye")
valid = True
except ValueError:
print("Invalid")
a) Bye (printed once)
b) No output
c) Invalid (printed once)
d) Bye (printed infinite number of times)
29. Which of the following blocks will be executed whether an exception is thrown or not?
a) except
81 | P a g e
b) else
c) finally
d) assert
1.d 2.c 3.b 4.d 5.a 6.d 7.b 8.a 9.b 10.a 11.c 12.b
13.c 14.a 15.b 16.c 17.a 18.c 19.b 20.d 21.b 22.d
23.b 24.a 25.c 26.a 27.a 28.d 29.c
3. Program code making use of a given module is called a ______ of the module.
a) Client
b) Docstring
c) Interface
d) Modularity
4. ______ is a string literal denoted by triple quotes for providing the specifications of certain
program elements.
a) Interface
b) Modularity
c) Client
d) Docstring
82 | P a g e
8. Which of the following isn’t true about main modules?
a) When a python file is directly executed, it is considered main module of a program
b) Main modules may import any number of modules
c) Special name given to main modules is: __main__
d) Other main modules can import main modules
.
9. Which of the following is not a valid namespace?
a) Global namespace
b) Public namespace
c) Built-in namespace
d) Local namespace
10. Which of the following is false about “import modulename” form of import?
a) The namespace of imported module becomes part of importing module
b) This form of import prevents name clash
c) The namespace of imported module becomes available to importing module
d) The identifiers in module are accessed as: modulename.identifier
14. What is the order of namespaces in which Python looks for an identifier?
a) Python first searches the global namespace, then the local namespace and finally the built-in
namespace
b) Python first searches the local namespace, then the global namespace and finally the built-in
namespace
c) Python first searches the built-in namespace, then the global namespace and finally the local
namespace
d) Python first searches the built-in namespace, then the local namespace and finally the global
namespace
83 | P a g e
1.b 2.c 3.a 4.d 5.c 6.b 7.b 8.d 9.b 10.a 11.b 12.c
13.d 14.b
1. _____ represents an entity in the real world with its identity and behaviour.
a) A method
b) An object
c) A class
d) An operator
def display(self):
print(self.a)
obj=test()
obj.display()
a) The program has an error because constructor can’t have default arguments
b) Nothing is displayed
c) “Hello World” is displayed
d) The program has an error display function doesn’t have parameters
x = change(1,2,3)
y = getattr(x, 'a')setattr(x, 'a', y+1)print(x.a)
84 | P a g e
a) 6
b) 7
c) Error
d) 0
def display(self):
print(self.a)
obj=test()
obj.display()
a) Runs normally, doesn’t display anything
b) Displays 0, which is the automatic default value
c) Error as one argument is required while creating the object
d) Error as display function requires additional argument
85 | P a g e
obj.quantity=10
obj.bags=2
print(obj.quantity+len(obj.__dict__))
a) 12
b) 52
c) 13
d) 60
12. The assignment of more than one function to a particular operator is _______
a) Operator over-assignment
b) Operator overriding
c) Operator overloading
d) Operator instance
15. What are the methods which begin and end with two underscore characters called?
a) Special methods
b) In-built methods
c) User-defined methods
d) Additional methods
86 | P a g e
d) Yes, this method of calling is called bounded method call
21. What does print(Test.__name__) display (assuming Test is the name of the class)?
a) ()
b) Exception is thrown
c) Test
d) __main__
ANSWERS :
1.b 2.b 3.c 4.b 5.a 6.b 7.c 8.a 9.c 10.d 11.c 12.c
13.a 14.b 15.a 16.b 17.c 18.c 19.b 20.a 21.c 22.a
87 | P a g e
d) Allows for implementation of elegant software that is well designed and easily modified
88 | P a g e
pass
obj = B()
obj.disp()
a) Invalid syntax for inheritance
b) Error because when object is created, argument must be passed
c) Nothing is printed
d) A disp()
7. When defining a subclass in Python that is meant to serve as a subtype, the subtype Python
keyword is used.
a) True
b) False
8. Suppose B is a subclass of A, to invoke the __init__ method in A from B, what is the line of
code you should write?
a) A.__init__(self)
b) B.__init__(self)
c) A.__init__(B)
d) B.__init__(A)
89 | P a g e
11. What does built-in function type do in context of classes?
a) Determines the object name of any value
b) Determines the class name of any value
c) Determines class description of any value
d) Determines the file name of any value
def two(self):
return 'A'
class B(A):
def two(self):
return 'B'
obj1=A()
obj2=B()print(obj1.two(),obj2.two())
a) A A
b) A B
c) B B
d) An exception is thrown
90 | P a g e
c) Hierarchical inheritance
d) Single-level inheritance
def display(self):
print(self.__i, self.j)class B(A):
def __init__(self):
super().__init__()
self.__i = 2
self.j = 7
c = B()
c.display()
a) 2 7
b) 1 5
c) 1 7
d) 2 5
91 | P a g e
23. What will be the output of the following Python code?
class A:
def __init__(self):
self.__x = 1class B(A):
def display(self):
print(self.__x)def main():
obj = B()
obj.display()
main()
a) 1
b) 0
c) Error, invalid syntax for object declaration
d) Error, private class member can’t be accessed in a subclass
main()
a) 5
b) Error, class member x has two values
c) 3
d) Error, protected class member can’t be accessed in a subclass
View Answer
26. What will be the output of the following Python code?
class A:
def test1(self):
print(" test of A called ")class B(A):
def test(self):
print(" test of B called ")class C(A):
def test(self):
92 | P a g e
print(" test of C called ")class D(B,C):
def test2(self):
print(" test of D called ")
obj=D()
obj.test()
a)
test of B called
test of C called
b)
test of C called
test of B called
c) test of B called
d) Error, both the classes from which D derives has same method test()
a) test of B called
test of C called
test of A called
b) test of C called
test of B called
c) test of B called
test of C called
d) Error, all the three classes from which D derives has same method test()
1.a 2.c 3.b 4.c 5.d 6.b 7.b 8.a 9.c 10.d 11.b 12.a 13.c 14.b
15.b 16.a 17.c 18.c 19.c 20.a 21.c 22.a 23.d 24.c 25.a 26.c
27.a
93 | P a g e
UNIT V
2. Only problems that are recursively defined can be solved using recursion.
94 | P a g e
a)True
b) False
4. Fill in the line of the following Python code for calculating the factorial of a number.
def fact(num):
if num == 0:
return 1
else:
return _____________________
a) num*fact(num-1)
b) (num-1)*(num-2)
c) num*(num-1)
d) fact(num)*fact(num-1)
a) 13
b) 7
c) Infinite loop
d) 17
a) 50
95 | P a g e
b) 100
c) 74
d) Infinite loop
10. What happens if the base condition isn’t defined in recursive programs?
a) Program gets into an infinite loop
b) Program runs once
c) Program runs n number of times where n is the argument given to the function
d) An exception is thrown
a) 0 1 2 3
b) An exception is thrown
c) 0 1 1 2 3
d) 0 1 1 2
14. Suppose the first fibonnaci number is 0 and the second is 1. What is the sixth
fibonnaci number?
a) 5
b) 6
c) 7
d) 8
96 | P a g e
15. Which of the following is not a fibonnaci number?
a) 8
b) 21
c) 55
d) 14
17. Which of the following recurrence relations can be used to find the nth fibonacci
number?
a) F(n) = F(n) + F(n – 1)
b) F(n) = F(n) + F(n + 1)
c) F(n) = F(n – 1)
d) F(n) = F(n – 1) + F(n – 2)
18. How many times will the function fibo() be called when the following code is executed?
int fibo(int n){
if(n == 1)
return 0;
else if(n == 2)
return 1;
return fibo(n - 1) + fibo(n - 2);}int main(){
int n = 5;
int ans = fibo(n);
printf("%d",ans);
return 0;}
a) 5
b) 6
c) 8
d) 9\
19. What is the output of the following code?
int fibo(int n){
if(n == 1)
return 0;
else if(n == 2)
return 1;
return fibo(n - 1) + fibo(n - 2);}int main(){
int n = 10;
int ans = fibo(n);
printf("%d",ans);
return 0;}
a) 21
b) 34
c) 55
d) 13
97 | P a g e
20. What is the output of the following code?
int fibo(int n){
if(n == 1)
return 0;
else if(n == 2)
return 1;
return fibo(n - 1) + fibo(n - 2);}int main(){
int n = 5;
int ans = fibo(n);
printf("%d",ans);
return 0;}
a) 1
b) 2
c) 3
d) 5
23. The time complexity of the solution tower of hanoi problem using recursion is _________
a) O(n2)
b) O(2n)
c) O(n log n)
d) O(n)
24. Recurrence equation formed for the tower of hanoi problem is given by _________
a) T(n) = 2T(n-1)+n
b) T(n) = 2T(n/2)+c
c) T(n) = 2T(n-1)+c
d) T(n) = 2T(n/2)+n
25. Minimum number of moves required to solve a tower of hanoi problem with n disks is
__________
a) 2n
b) 2n-1
c) n2
d) n2-1
98 | P a g e
d) O(n log n)
29. Minimum time required to solve tower of hanoi puzzle with 4 disks assuming one
move takes 2 seconds, will be __________
a) 15 seconds
b) 30 seconds
c) 16 seconds
d) 32 seconds
ANSWERS :
1.b 2.b 3.c 4.a 5.d 6.d 7.d 8.b 9.b 10.a 11.c 12.b
13.d 14.a 15.d 16.d 17.d 18.d 19.b 20.c 21.a 22.c
23.b 24.c 25.b 26.b 27.d 28.a 29.b
99 | P a g e
d) O(1)
4. What is the best case and worst case complexity of ordered linear search?
a) O(nlogn), O(logn)
b) O(logn), O(nlogn)
c) O(n), O(1)
d) O(1), O(n)
10. The array is as follows: 1,2,3,6,8,10. At what time the element 6 is found? (By
100 | P a g e
using linear search(recursive) algorithm)
a) 4th call
b) 3rd call
c) 6th call
d) 5th call
11. The array is as follows: 1,2,3,6,8,10. Given that the number 17 is to be searched.
At which call it tells that there’s no such element? (By using linear search(recursive)
algorithm)
a) 7th call
b) 9th call
c) 17th call
d) The function calls itself infinite number of times
13. Can linear search recursive algorithm and binary search recursive algorithm be
performed on an unordered list?
a) Binary search can’t be used
b) Linear search can’t be used
c) Both cannot be used
d) Both can be used
14. What is the recurrence relation for the linear search recursive algorithm?
a) T(n-2)+c
b) 2T(n-1)+c
c) T(n-1)+c
d) T(n+1)+c
16. Given an input arr = {2,5,7,99,899}; key = 899; What is the level of recursion?
a) 5
b) 2
c) 3
d) 4
101 | P a g e
17. Given an array arr = {45,77,89,90,94,99,100} and key = 99; what are the mid
values(corresponding array elements) in the first and second levels of recursion?
a) 90 and 99
b) 90 and 94
c) 89 and 99
d) 89 and 94
18. What is the worst case complexity of binary search using recursion?
a) O(nlogn)
b) O(logn)
c) O(n)
d) O(n2)
19. What is the average case time complexity of binary search using recursion?
a) O(nlogn)
b) O(logn)
c) O(n)
d) O(n2)
22. Given an array arr = {5,6,77,88,99} and key = 88; How many iterations are done
until the element is found?
a) 1
b) 3
c) 4
d) 2
23. Given an array arr = {45,77,89,90,94,99,100} and key = 100; What are the mid
values(corresponding array elements) generated in the first and second iterations?
a) 90 and 99
b) 90 and 100
c) 89 and 94
d) 94 and 99
102 | P a g e
a) O(nlogn)
b) O(logn)
c) O(n)
d) O(n2)
ANSWERS :
1.d 2.d 3.c 4.d 5.b 6.c 7.a 8.a 9.a 10.a 11.a 12.a 13.a 14.c
15.b 16.c 17.a 18.b 19.b 20.d 21.b 22.d 23.a 24.b
103 | P a g e
c) It can be used for small keys
d) It takes linear time to sort the elements
7. The given array is arr = {3,4,5,2,1}. The number of iterations in bubble sort and
selection sort respectively are,
a) 5 and 4
b) 4 and 5
c) 2 and 4
d) 2 and 5
8. The given array is arr = {1,2,3,4,5}. (bubble sort is implemented with a flag
variable)The number of iterations in selection sort and bubble sort respectively are,
a) 5 and 4
b) 1 and 4
c) 0 and 4
d) 4 and 1
10. Merge sort uses which of the following technique to implement sorting?
a) backtracking
b) greedy algorithm
c) divide and conquer
d) dynamic programming
104 | P a g e
b) O(n2)
c) O(n2log n)
d) O(n log n2)
15. Which of the following method is used for sorting in merge sort?
a) merging
b) partitioning
c) selection
d) exchanging
16. What will be the best case time complexity of merge sort?
a) O(n log n)
b) O(n2)
c) O(n2 log n)
d) O(n log n2)
18. Choose the incorrect statement about merge sort from the following?
a) it is a comparison based sort
b) it is an adaptive algorithm
c) it is not an in place algorithm
d) it is stable algorithm
21. Which of the following stable sorting algorithm takes the least time when applied
to an almost sorted array?
a) Quick sort
b) Insertion sort
c) Selection sort
d) Merge sort
105 | P a g e
22. Merge sort is preferred for arrays over linked lists.
a) true
b) false
23. Which of the following sorting algorithm makes use of merge sort?
a) tim sort
b) intro sort
c) bogo sort
d) quick sort
24. Which of the following sorting algorithm does not use recursion?
a) quick sort
b) merge sort
c) heap sort
d) bottom up merge sort
ANSWERS :
1.a 2.c 3.d 4.a 5.d 6.b 7.a 8.d 9.d 10.c
11.a 12.c 13.a 14.a 15.a 16.a 17.a 18.b 19.a
20.a 21.d 22.b 23.a 24.d
106 | P a g e
→Telegram Channel
→Telegram Group