Python Quiz Questions

python quiz

1. Who created Python?

James Gosling / Guido Van Rossum / Dennis Ritchie / Tom Cruise

Guido Van Rossum is a Dutch programmer best known as the author of the Python programming language.

2. In Python strings, Unicode strings, lists, tuples, buffers, and xrange objects are called:

dictionary / sequences / set / Something else

They are called sequences. Sequences are different from dictionaries, and sets.

Dictionary is an associative array, where keys are mapped to values. Inside sequences there are no associations of keys and values.

Sequence is different from set, because set cannot have duplicate elements while sequence can.

3. What is the output?


True / False

Strings would be a sequence of characters only.

It is irrelevant either single or double quotes are used when creating strings. This is why 'abc'=="abc" will return True.

4. What is not a tuple?

( )




Tuples are sequences, just like lists. However, tuples use parentheses (), whereas lists use square brackets [].

In this case () is an empty tuple, (1,2) is a tuple with two elements (3,) is a tuple with a single element, but (4) is int.

>>> x = (4)
>>> print(type(x))
<class 'int'>
>>> x = (4,)
>>> print(type(x))
<class 'tuple'>`

Note that single element tuple must have the ending comma, else it would evaluate differently.

5. In Python when you assign a value to a variable this would set the variable type?


Unlike more rigid languages, Python will change the variable type for a variable on assignments.

6. In Python the function print() is:

user-defined / built-in

Python has functions built into it that are always available. The print() function is one on them.

Here is the list of built-in functions:

abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id() object () sorted() ascii() enumerate() input() oct() staticmethod() bin() eval() int () open() str() bool () exec() isinstance() ord() sum() bytearray() filter() issubclass() pow() super() bytes() float () iter() print() tuple() callable() format() len() property() type() chr() frozenset() list() range() vars() classmethod() getattr() locals() repr() zip() compile() globals() map() reversed() __import__() complex() hasattr() max() round() delattr() hash() memoryview() set()

7. In Python which keyword is used to define a function?

function / def / try / import

A function in Python is defined by a def statement. Here is the example:

def hiFunction(person):
  print("Hi " + person + ".")



Hi Emily.

8. What is used to define a block of code in Python?

Curly braces / Parenthesis / Indentation / Quotation

To indicate a block of code in Python, you must indent each line of the block by the same amount of space.

The amount of indentation matters: A missing or extra space in a Python block could cause an error or unexpected behavior.

Statements within the same block of code need to be indented at the same level.

9. Which of the following is correct about the comments?

They help us understand the program better

Python Interpreter ignores comments

Multiline comments start either with ''' or """

All are correct

Comments in Python start with the hash character, # , and extend to the end of the physical line.

In certain cases, multiline comments are better option. Multiline comments start and end with ''' or """.

10. What is the output of the following code?

print(1, 2, 3, 4, sep='*')

1 2 3 4




The function print can take a parameter sep. That would insert the sep between values. Default separator is is a space " ".

11. What is used to take the keyboard input in Python?

scanf() / input()

Python provides the function input(). That function has an optional parameter, which is the prompt string.

On input() the program flow stops while user is providing the input. When user hits the return key the program flow continues.

Here is the example:

name = input("What's your name? ")
# program flow stops here
print("Hello " + name + "!")

12. What is the output when you print variable numbers?

numbers = [2, 3, 4]

2, 3, 4

2 3 4

[2, 3, 4]

[2 3 4]

The function print() will print whatever we provide.

In this case we provided the variable which is simple a list. The list will be in the output including the square brackets [].

13. What is the output of the following code?

print(3 >= 3)

3 >= 3




In this example print(3 >= 3) will return True, because the printing function will evaluate the expression 3 >= 3 first.

14. In Python type(false) will return:

<class ‘bool’> / something else

Note the Python is case sensitive language, and the False is not the same as false.

If we check, type(False) would return <class 'bool'> and type(false) would lead to NameError:

There is no such keyword 'false'.

15. Is there a do while loop in Python?


There are while and for loops in Python, but there is no do while loop.

16. What is the output of the following code?


<class ‘tuple’>

<class ‘set’>

<class ‘int’>

<class ‘list’>

Lists are formed by placing a comma-separated list of expressions in square brackets [].

17. A variable must assign a value before it can be used.


In Python unassigned variables are simple not allowed.

18. Can Python list contain another list?

True / False

This is of course possible. The smallest example would be like this:

list = [[]]

19. In Python indexing starts from:

0 / 1

In Python, like in almost any programming language indexing starts from 0. This is true not only for strings, but for any sequence object type.

20. To return the ASCII code of the character in Python you need?

chr() / ord()

The function ord() is a built in that returns the ASCII character for the character we ask.

>>> ord('a')

The chr() will do exactly the opposite.

>>> chr(97)

21. What will be the result of this function?

len("Hello World")

10 / 11

Since the string “Hello World” has exactly 11 characters the output is 11.

22. Is there any difference in the output from these 2 lines:

print("my string", end="\n")
print("my string")


By default print() function prints the string with a newline at the end. We can change this behavior using the end argument.

There will be no difference.

23. In Python we use try and catch for exception handling?


Exception handling enables you handle errors gracefully and do something meaningful about it. Like display a message to user if intended file not found. Python handles exceptions using:

  # try block
except <ExceptionType1>:
  # handler1
except <ExceptionTypeN>:
  # handlerN
  # handlerAny
  # process_else
  # process_finally

As you can see in try block you need to write the code that might throw an exception. When exception occurs code in the try block is skipped.

If there exist a matching exception type then the handler is executed for that exception, else handlerAny is executed.

If there is no exception process_else is executed.

The process_finally is executed in any case.

24. Find the intruder?

ArithmeticError / GoldError / RuntimeError, SyntaxError

There are some different error types that may occur in Python, but not the GoldError.

25. What will be the output?

s = "Wellcome"





We used the string slicing in here.

The range slice s[start:end] is the string beginning at start and extending up to but not including end.

Indexing in Python starts from 0 so the first letter is the e and the last would be the first l, because the other l would be omitted.

26. A string tenStr has 10 characters. What will the next code return?


It depends on a string


second character of the string

first character of the string

The return will always be the empty string.

The slice tenStr[1:1] means we will try to get the second character from the string, but since we must not include the end of the slice the result will be the empty string.

27. Python does not have separate data type for characters - they are represented as a single character string.



It may be called a great feature of Python since this greatly simplifies things.

28. What will the id() function return?

memory address

object identifier

Python uses the object’s memory address to provide the identity.

Since every object in Python is stored somewhere in memory, we can use id() to get that memory address.

29. Strings in Python are continuous series of characters delimited by single or double quotes.



Yes, both single or double quotes are good. However, this would be wrong: s='string".

Either s='string' or s="string" is good.

30. Are string objects mutable?


Strings are immutable objects. You can check this with the id() function. If we try to update the value of the string object the new string object will be created. We know this by examining the memory address.

For example:


31. Let a = [1, 2, 3, 4, 5] then which of the following is correct?

a[:] => [1,2,3,4]

a[0:] => [2,3,4,5]

a[:100] => [1,2,3,4,5]

a[-1:] => [1,2]

There is logic behind the string range slicing for the first and for the second argument.

[1  2  3  4  5]
 0  1  2  3  4   # first argument index
-5 -4 -3 -2 -1   # second argument index

If we omit the arguments [:] we will get the full list so a[:] => [1,2,3,4] is not correct - it should take the whole list.

The a[0:] => [2,3,4,5] is also not correct because a[0:] is equal to a[:].

a[:100] => [1,2,3,4,5] would be the correct answer.

32. What is n?

n = '5'





Use Python interpreter to type this:

>>> n='5'
>>> type(n)

Python will tell you the type of n is a string: <class 'str'>

33. To install Python on Windows you will typically need:

Less than 5 minutes / More than 5 minutes

Typically you will search for the latest Python version, download it and start the installation process which is very quick.

34. To get help on any built-in Python function you can call?

help() / doc()

Calling help() at the Python prompt starts an interactive help session.

Calling help(thing) prints help for the python object ‘thing’.

35. To start Python interpreter in Windows you type?

Either py or python / Py / Python

If Python installation set the PATH variable in Windows either py, python, Py, Python should work. Windows is case insensitive.

Once you have the interpreter running you will get the prompt like this: ` Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 16:07:46) [MSC v.1900 32 bit (Intel)] on win32 Type “help”, “copyright”, “credits” or “license” for more information.`

36. Most Linux distributions have Python installed by default?

True / False

Red Hat Enterprise Linux and its close relatives (Fedora, CentOS, Scientific Linux, Oracle Linux…) will always have Python installed since the installer and many core tools are written in Python.

Ubuntu has had Python installed by default since at least version 8.04

37. Can you append a string to a tuple like this?

a = ('1',)
b = '2'
c = a + b


This will not work. The output from the interpreter would be:

Can only concatenate tuple (not "str") to tuple.

This means you can only add tuple to tuple. The next would be possible.

a = ('1',)
b = ('2',)
c = a + b

38. Python can automatically convert a number from one type to another if it needs?


Data conversion in Python can happen in two ways: either you tell the compiler to convert a data type to some other type explicitly, or the compiler understands this by itself and does it for you.

In the first case, you are performing an explicit data type conversion:

>>>a = 3.14
<class 'int'>`

The example of the implicit conversion would be:

>>>a = 3
<class 'float'>

39. What is not a standard Python data type?

Class / String / List / Dictionary

Most standard data types would be all the numbers (int, long, float, complex) and of course strings, list, tuple, dictionary.

Class is not a data type. There is also the ‘class’ keyword in Python used to create a new class definition.

40. What is type(5.0)?

int / float

It will be float because the notation 5.0 represents the float number. The type(5) would return int.

41. Find the intruder?

int / float / tuple / complex

In here int, float, and complex are Python numbers, while tuple is a serial data type.

42. Complex numbers are not supported in Python by default?


No, complex numbers are supported in Python right out of the box. Here is what Python supports:

a = 10 (int)
a = 345L (long)
a = 45.67 (float)
a = -1+3.14j (complex)

43. Is this OK to write in Python?



Yes, the following is an expression that would eval to a complex number:


44. Select mutable type?

list / tuple

Mutable means the elements in a list we are able to update after the assignment. On the other side, tuples are not mutable. You cannot update tuple elements once you assign a tuple.

45. In Python which is the correct method to import a module?

include math

import math


using math

Different languages have different syntax. Python way to load a module would be like: import math.

The same keyword like in Java programming language.

46. A function is a block of code that performs a specific task.

True / False

Functions provide better modularity for your application and a way to reuse code.

As you already know, Python gives you many built-in functions like print(), etc. but you can also create your own functions. These functions are called user-defined functions.

47. What is the output of the following code?

def printSingleTextLine(text):
  print(text, 'is awesome.')



Python is awesome.

Pythonis awesome.

text is awesome.

The actual result of this would be:

Python is awesome.

Note in here the default separator for the print() function with multiple arguments is a space character.

48. What is the output of the following code?

def greetPerson(*name):
  print('Hello', name)

greetPerson('Mam', 'Dad')

Hello Mam

Hello Mam, Dad

Hello (‘Mam’, ‘Dad’)

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.

When an asterisk (*) is placed before the variable name this will hold the values of all non mentioned arguments. This tuple remains empty if no additional arguments are specified during the function call.

49. What is a recursive function?

There is no recursive functions in Python

A function that calls itself

Python supports recursive functions.

For example, here is the sum function that will evaluate the sum of all the numbers lower or equal to n:

def sum(n):
  if n == 1:
    return 1
    return n + sum(n-1)

50. What is the output of the following program?

result = lambda x: x * x

lambda x: x*x




We used the anonymous or the lambda function. These functions are not declared in the standard way using the def: keyword.

Lambda functions cannot contain commands or multiple expressions. They return just one value in the form of an expression.

51. Suppose a tuple test contains 5 elements. How can you set the 3rd element of the tuple to ‘Python’?

test[2] = ‘Python’

test(2) = ‘Python’

test[3] = ‘Python’

Elements of tuple cannot be changed

Tuples are immutable. We cannot update them.

52. What is the output of the following program?

print((1, 2) + (3, 4))

(1, 2) (3, 4)

(1, 2, 3, 4)

We have created a tuple by concatenation of two tuples, not two strings.

53. What is used to concatenate two strings in Python?

. operator

+ operator

strcat() function

^ operator

In order to merge two strings into a single object, we use the + operator.

The newly created string is completely new object, since strings are immutable.

54. What is the output?




The operator * on strings will multiply the strings for number of times.

55. Which of the following statement is true?

A set is an unordered collection of items

Set elements are unique

You can change elements of a set unlike tuple

All are correct

The set is unordered collection of unique elements. Common uses include membership testing, removing duplicates from a sequence, and computing standard math operations on sets such as intersection, union, difference, and symmetric difference.

56. What is the output of the following program?

n = [x * x for x in range(4)]

[0, 1, 2, 3]

[0, 1, 4, 9]

[1, 4, 9, 16]

[1, 2, 3, 4]

The range(4) is the same as range(0, 4). For example:

>>> for x in range(0, 4):
...   print(x)

So the correct answer is [0, 1, 4, 9].

57. How can you change:

num = {'one': 1, 'two': 3}


num = {'one': 1, 'two': 2 }

num[2] = ‘two’

num[1] = ‘two’

num[‘two’] = 2

num[‘two’] = ‘2’

Only the num['two'] = 2 is correct since we update the dictionary element by using the key ‘two’ and we need to set the integer value 2.

58. Which operator is used in Python to import modules from packages?

. operator

* operator

-> symbol

, operator

from my_package_name import * is the way to import all the modules from the my_package_name package.

This allows using variables, classes, methods, … from the module without prefixing them with the module name.

59. Opening a file in ‘a’ mode opens a file for



appending at the end of the file

exclusive creation

Mode ‘a’ is short for the appending mode.

60. What does the following code do?

f = open('test.txt')

Opens a file for both reading and writing

Opens a file for reading only

Opens a file for writing only

Opens a file in god mode

In Python the default mode is open a file for reading only. The file pointer is placed at the beginning of the file.

61. What will happen if you try to open a file that is not present?

A new file will be created


An exception is raised

Something else

When we try to open a file, but a file is not present the exception FileNotFoundError will be raised.

62. What does the following code do?


Prints the current working directory

Prints all directories (not files) inside the given directory

Prints all directories and files inside the given directory

Makes a new directory

The method listdir() returns a list containing the names of the entries in the directory given by path. The list is in arbitrary order. It does not include the special entries ‘.’ and ‘..’ even if they are present in the directory.

import os
os.listdir('c:') # on Windows
os.listdir('/home') # on Linux or Mac

63. What is true?

You cannot create custom exceptions in Python

You can create a user-defined exception by deriving a class from Exception class

You can create a user-defined exception by deriving a class from Error class

None of the above

The standard way to create user-defined exceptions is to derive from the Exception class.

64. For the following code, what is true?

def printHello():

a = printHello()

printHello() is a function and a is a variable

printHello() and a refer to the same object

In here the function and the variable are not pointing to the same object.

Instead type(a) will be <class 'NoneType'> and print(a) will return None.

To assign a variable to the function we can write:

def printHello():

a = printHello

Then a() will return ‘Hello’ string.

65. Suppose you need to print pi constant defined in math module. Which of the following code can do this task?



from math import pi; print(pi)

from math import pi; print(math.pi)

This would be two correct ways:

>>>from math import pi


>>>from math import *

66. If return statement is not used inside the function, the function will return:


Null object

None object

Error! Functions in Python must have a return statement.

A return statement ends the execution of the function call and “returns” the result.

If there is no return statement, the special value None is returned.

67. Suppose a list with name test, contains 10 elements. You can get the 5th element from the test list using:





Because the list indexing starts from 0, the 5th element will be test[4].

68. What does the __init__() function do in Python?

Initializes the class for use

This function is called when a new object is instantiated

Initializes all the data attributes to zero when called

Something else

The __init__ method represents a constructor in Python.

>>>class Foo:
...  pass  
>>>o1 = Foo()

When you call o1 = Foo() Python should create an object for you.

Initializes the class for use is wrong because classes are definitions, they are not initialized.

Initializes all the data attributes to zero when called is also not true, because attributes may be initialized to non zero value.

This function is called when a new object is instantiated would be OK.

69. If your class is derived from two different classes this is called:

Multilevel Inheritance

Multiple Inheritance

Hierarchical Inheritance

Python Inheritance

In multiple inheritance, the features of all the base classes are inherited into the derived class. The syntax for multiple inheritance is similar to single inheritance.

class Base1:

class Base2:

class MultiDerived(Base1, Base2):

70. What does the following code do?

def a(b, c, d): pass

defines a list and initializes it

defines a function which does nothing

defines a function, which passes its parameters through

defines an empty class

The def statement defines a function. The pass statement is a null operation.

There is no return from this function so it will return the default “None” object.

71. What are the method(s) that iterator object must implement?


__iter__() and __next__()

An iterator is an object that implements __next__(), which is expected to return the next element of the iterable object that returned it.

In the simplest case the iterable will implement __next__() and return self in __iter__().

72. If a function contains at least one yield statement, it becomes?

an iterable

a generator function

Generator is basically an iterator function that uses yield multiple times to return values.

tags: quiz - questions & category: python