Data Handling
Data Handling
Question 1
Which of the following are valid Python data types ?
1. Numeric
2. None ✓
3. Mappings
4. list ✓
5. Sequence
6. set ✓
7. tuple ✓
8. dictionary ✓
Question 2
Which of the following are datatypes considered as Numbers in Python.
1. Integer ✓
2. Boolean ✓
3. complex ✓
4. floating point ✓
5. list
6. None
Question 3
Consider the following sequence of statements:
a = 35
m=a
Following the execution of these statements, Python has created how many objects and how many references ?
1. Two integer objects, two references
2. One integer object, two references ✓
3. One integer object, one reference
4. Two integer objects, one reference
Question 4
Which Python built-in function returns the unique number assigned to an object?
1. identity( )
2. id( ) ✓
3. refnum( )
4. ref( )
Question 5
The operator used to check if both the operands reference the same object memory, is the .......... operator.
1. in
2. is ✓
3. id
4. ==
Question 6
For two objects x and y, the expression x is y will yield True, if and only if
1. id(x) == id(y) ✓
2. len(x) == len(y)
3. x == y
4. all of these
Question 7
Which of the following is not an immutable type in Python ?
1. String
2. Tuples
3. Set ✓
4. dictionary ✓
Question 8
Python operator always yields the result of .......... datatype.
1. integer
2. floating point ✓
3. complex
4. all of these
Question 9
What is the value of the expression 100 / 25 ?
1. 4
2. 4.0 ✓
3. 2.5
4. none of these
Question 10
What is the value of the expression 100 // 25 ?
1. 4 ✓
2. 4.0
3. 2.5
4. none of these
Question 11
In Python, a variable must be declared before it is assigned a value.
1. True
2. False ✓
3. Only in Functions
4. Only in modules
Question 12
In Python, a variable is assigned a value of one type, and then later assigned a value of a different type. This
will yield .......... .
1. Warning
2. Error
3. None
4. No Error ✓
Question 13
In Python, a variable may be assigned a value of one type, and then later assigned a value of a different type.
This concept is known as .......... .
1. mutability
2. static typing
3. dynamic typing ✓
4. immutability
Question 14
Is it safe to directly use the == operator to determine whether objects of type float are equal ?
1. Yes
2. No ✓
3. Yes, if the values are < 100
4. Yes, if the values are > 100
Question 15
What will the following code produce ?
a = 8.6
b = 2
print ( a//b )
1. 4.3
2. 4.0 ✓
3. 4
4. compilation error
Question 16
In the Python statement x = a + 5 - b : a and b are .......... .
1. Operands ✓
2. Expression
3. operators
4. Equation
Question 17
In the Python statement x =a + 5 - b : a + 5 - b is .......... .
1. Operands
2. Expression ✓
3. operators
4. Equation
Question 18
What will be the value of y after following code fragment is executed ?
x = 10.0
y = (x < 100.0) and x >= 10
1. 110
2. True ✓
3. False
4. Error.
Question 19
Which of the following literals has True truth-value ?
1. 0.000001 ✓
2. 'None' ✓
3. 0
4. [ ]
5. False
6. True ✓
7. 1 ✓
8. 33 ✓
9. None
10. 0.0
Question 20
What will the following code result as ?
import math
x = 100
print ( x > 0 and math.sqrt( x ) )
1. True
2. 1
3. 10
4. 10.0 ✓
Question 21
Which of the following operators has the lowest precedence ?
1. not
2. %
3. and ✓
4. +
5. **
Question 22
What is the value of the expression 10 + 3 ** 3 * 2?
1. 28
2. 739
3. 829
4. 64 ✓
Question 23
To increase the value of x five times using an augmented assignment operator, the correct expression will be
1. x += 5
2. x *= 5 ✓
3. x = x ** 5
4. none of these
Question 24
What will be the result of the expression 10 or 0 ?
1. 0
2. 1
3. 10 ✓
4. 1.0
Question 25
What will be the result of the expression 5 or 10 ?
1. 5 ✓
2. 1
3. 10
4. 0
Question 26
What will be the result of the expression 5 and 10?
1. 5
2. 1
3. 10 ✓
4. 0
Question 27
What will be the result of the expression 15 and 10?
1. 5
2. 1
3. 10 ✓
4. 0
Question 28
What will be the result of the expression 10 or 0 ?
1. 0
2. 1
3. 10 ✓
4. 1.0
Question 29
What will be the result of the expression 'a' or " (" is an empty string) ?
1. 'a' ✓
2. "
3. 1
4. 0
Question 30
What will be the result of the expression 'a' and " (" is an empty string) ?
1. 'a'
2. " ✓
3. 1
4. 0
Question 31
What will be the result of the expression 'x' and 'a' ?
1. 'a' ✓
2. "
3. 'x'
4. 1
Question 32
What will be the result of the expression 'a' and 'x' ?
1. 'a'
2. ''
3. 'x' ✓
4. 1
Question 33
What will be the result of the expression 'a' and 'None' ?
1. 'a'
2. ''
3. 'None' ✓
4. 1
Question 34
What will be the result of the expression 'None' and 'a' ?
1. 'a' ✓
2. ''
3. 'None'
4. 1
Question 35
What will be the result of the expression 'false' and False ?
1. false
2. False ✓
3. 'false'
4. 'False'
Question 36
What will be the result of the expression 'false' or False ?
1. false
2. False
3. 'false' ✓
4. 'False'
Fill in the Blanks
Question 1 Boolean data type is internally treated as integer data type.
Question 2 Two forms of floating-point numbers are: fractional form and exponent notation.
Question 3 Python's floating point numbers have precision of 15 digits.
Question 4 Three mutable types of Python are lists, dictionaries and sets.
Question 5 The floor division of two integers yields a result of integer type.
Question 6 The division of two integers yields a result of floating-point type.
Question 7 The set sequence type cannot store duplicate values.
Question 8 The tuple datatype is like lists but is not mutable.
Question 9 The id of an object gives the memory location of the object.
Question 10 To check if two objects reference the same memory address, is operator is used.
Question 11 To use function fabs( ), math module should be imported.
Question 12 To generate a random floating number in the range 0 to 100, random() or
random.random() function is used.
Question 13 To generate a random integer in a range, randint() or random.randint() function is used.
Question 14 To generate a random number in a sequence of values where two values have a difference a step
value, randrange() or random.randrange() function is used.
Question 15 To use mean() function, statistics module is to be imported.
True/False Questions
Question 1 List is an immutable data type. False
Question 2 Set is a mutable data type. True
Question 3 A set can contain duplicate values in it. False
Question 4 A Boolean value is internally treated as an integer value. True
Question 5 '' (an empty string) has truth value as False. True
Question 6 ' ' (a space) has truth value as False. False
Question 7 Value false is a legal literal value in Python. False
Question 8 Value False is a legal literal value in Python.True
Question 9 Value 'False' is a legal literal value in Python. True
Question 10 Value 'false' is a legal literal value in Python.True
Question 11 None and 'None' are the same.False
Question 12 None has the truth value as False. True
Question 13 'None' has the truth value as False. False
Question 14 The result of bool(0) is False. True
Question 15 The result of bool('None') is False. False
Question 16Dividing two integers results in an integer. False
Question 17 Floor division of two integers results in an integer. True
Question 18 Two floating point numbers should not be compared for equality using == True
Question 19 In implicit conversion, all operands' data types are converted to the datatype of the largest operand.
True
Question 20 Explicit type conversion involves the use of a function to convert datatype of a value. True
Type A: Short Answer Questions/Conceptual Questions
Question 1
What are data types in Python? How are they important?
Answer
Data types are used to identify the type of data a memory location can hold and the associated operations of
handling it. The data that we deal with in our programs can be of many types like character, integer, real
number, string, boolean, etc. hence programming languages including Python provide ways and facilities to
handle all these different types of data through data types. The data types define the capabilities to handle a
specific type of data such as memory space it allocates to hold a certain type of data and the range of values
supported for a given data type, etc.
Question 2
How many integer types are supported by Python? Name them.
Answer
Two integer types are supported by Python. They are:
1. Integers (signed)
2. Booleans
Question 3
How are these numbers different from one another (with respect to Python)? 33, 33.0, 33j, 33 + j
Answer
The number 33 is an integer whereas 33.0 is a floating-point number. 33j represent the imaginary part of a
complex number. 33 + j is a complex number.
Question 4
The complex numbers have two parts : real and imaginary. In which data type are real and imaginary parts
represented ?
Answer
In Python, the real and imaginary parts of a complex number are represented as floating-point numbers.
Question 5
How many string types does Python support? How are they different from one another?
Answer
Python supports two types of strings — Single-line strings and Multi-line strings. Single line strings are
enclosed in single or double quotes and terminate in one line. Multi-line strings store multiple lines of text and
are enclosed in triple quotes.
Question 6
What will following code print?
str1 = '''Hell
o'''
str2 = '''Hell\
o'''
print(len(str1) > len(str2))
Answer
This code will print:
True
len(str1) is 6 due to the EOL character. len(str2) is 5 as backslash (\) character is not counted in the length of
string. As len(str1) is greater than len(str2) so the output is True.
Question 7
What are Immutable and Mutable types in Python? List immutable and mutable types of Python.
Answer
Mutable types are those whose values can be changed in place whereas Immutable types are those that can
never change their value in place.
Mutable types in Python are:
1. Lists
2. Dictionaries
3. Sets
Immutable types in Python are:
1. Integers
2. Floating-Point numbers
3. Booleans
4. Strings
5. Tuples
Question 8
What are three internal key-attributes of a value-variable in Python ? Explain with example.
Answer
The three internal key-attributes of a value-variable in Python are:
1. Type
2. Value
3. Id
For example, consider this:
a=4
The type of a is int which can be found with the built-in function type() like this:
type(a).
Value can be found using the built-in function print() like this:
print(a)
It will give the output as 4 which is value contained in variable a.
Id is the memory location of the object which can be determined using built-in function id() like this:
id(a)
Question 9
Is it true that if two objects return True for is operator, they will also return True for == operator?
Answer
Yes, if is operator returns true, it implicitly means that the equality operator will also return True. is operator
returning true implies that both the variables point to the same object and hence == operator must return True.
Question 10
Are these values equal? Why/why not?
1. 20 and 20.0
2. 20 and int(20)
3. str(20) and str(20.0)
4. 'a' and "a"
Answer
1. The type of 20 is int whereas the type of 20.0 is float so they are two different objects. Both have the
same value of 20. So, as values are same equality (==) operator return True but as objects are different is
operator returns False.
2. The value and type of both 20 and int(20) are the same and both point to the same object so both
equality (==) and is operator returns True.
3. For str(20) and str(20.0), both equality (==) and is operator returns False as their values are different and
they point to two different objects.
4. For 'a' and "a", both equality (==) and is operator returns True as their values are same and they point to
the same object.
Question 11
What is an atom in Python? What is an expression?
Answer
In Python, an atom is something that has a value. Identifiers, literals, strings, lists, tuples, sets, dictionaries, etc.
are all atoms. An expression in Python, is any valid combination of operators and atoms. It is composed of one
or more operations.
Question 12
What is the difference between implicit type conversion and explicit type conversion?
Answer
Implicit Type Conversion Explicit Type Conversion
An implicit type conversion is automatically An explicit type conversion is user-
performed by the compiler when differing data defined conversion that forces an
types are intermixed in an expression. expression to be of specific type.
An implicit type conversion is performed An explicit type conversion is
without programmer's intervention. specified explicitly by the programmer.
Example: Example:
a, b = 5, 25.5 a, b = 5, 25.5
c=a+b c = int(a + b)
Question 13
Two objects (say a and b) when compared using == ,return True. But Python gives False when compared using
is operator. Why? (i.e., a == b is True but why is a is b False?)
Answer
As equality (==) operator returns True, it means that a and b have the same value but as is operator returns
False, it means that variables a and b point to different objects in memory. For example, consider the below
Python statements:
>>> a = 'abc'
>>> b = input("Enter a string: ")
Enter a string: abc
>>> a == b
True
>>> a is b
False
Here, both a and b have the same value 'abc' but they point to different objects.
Question 14
Given str1 = "Hello", what will be the values of:
(a) str1[0]
(b) str1[1]
(c) str1[-5]
(d) str1[-4]
(e) str1[5]
Answer
(a) H
(b) e
(c) H
(d) e
(e) IndexError: string index out of range
Explanation
H0−5e1−4l2−3l3−2o4−1−5H0−4e1−3l2−2l3−1o4
Question 15
If you give the following for str1 = "Hello", why does Python report error?
str1[2] = 'p'
Answer
Python reports error because strings are immutable and hence item assignment is not supported.
Question 16
What will the result given by the following?
(a) type (6 + 3)
(b) type (6 -3)
(c) type (6 *3)
(d) type (6 / 3)
(e) type (6 // 3)
(f) type (6 % 3)
Answer
⇒ int + int
(a) type (6 + 3)
⇒ int
So the result is int.
⇒ int - int
(b) type (6 -3)
⇒ int
So the result is int.
⇒ int * int
(c) type (6 * 3)
⇒ int
So the result is int.
⇒ int / int
(d) type (6 / 3)
⇒ float
So the result is float.
⇒ int // int
(e) type (6 // 3)
⇒ int
So the result is int.
⇒ int % int
(f) type (6 % 3)
⇒ int
So the result is int.
Question 17
What are augmented assignment operators? How are they useful?
Answer
Augmented assignment operators combine the impact of an arithmetic operator with an assignment operator.
For example, to add the value of b to the value of a and assign the result back to a then instead of writing:
a=a+b
we can write
a += b.
Augmented assignment operators are useful as they provide a shorthand way by combining the arithmetic and
assignment operators.
Question 18
Differentiate between (555/222)**2 and (555.0/222)**2.
Answer
In the first expression, 555 is of int type whereas in the second expression 555.0 is of float type.
Question 19
Given three Boolean variables a, b, c as : a = False, b = True, c = False. Evaluate the following Boolean
expressions:
(a) b and c
(b) b or c
(c) not a and b
(d) (a and b) or not c
(e) not b and not (a or c)
(f) not ((not b or not a) and c) or a
Answer
⇒ False
⇒ True or False
(b) b or c
⇒ True
⇒ 3 ** 2 [∵ len('375') = 3]
(ii) len('375')**2
⇒9 [∵ 3 * 3 = 9]
Question 26
Evaluate and Justify:
(i) 22.0/7.0 - 22/7
(ii) 22.0/7.0 - int(22.0/7.0)
(iii) 22/7 - int (22.0)/7
Answer
⇒0
(i) 22.0/7.0 - 22/7
As values of 22.0/7.0 and 22/7 are equal, subtracting them will give the result as 0.0.
⇒ 3.142857142857143 - 3
(ii) 22.0/7.0 - int(22.0/7.0)
⇒ 0.142857142857143
⇒ 0.0
(iii) 22/7 - int (22.0)/7
int (22.0) gives 22 so the expression becomes 22/7 - 22/7 which results in 0.0
Question 27
Evaluate and Justify:
(i) false and None
(ii) 0 and None
(iii) True and None
(iv) None and None
Answer
(i) This produces an error as false is an invalid literal in Python. It should be False. Had the expression being
False and None, the return value will be False.
(ii) This logical expression evaluates to 0. As first operand of and operator is false so it will return the first
operand itself.
(iii) This logical expression evaluates to None. As first operand of and operator is True so it will return the
second operand.
(iv) This logical expression evaluates to None. As first operand of and operator is false so it will return the first
operand itself.
Question 28
Evaluate and Justify:
(a) 0 or None and "or"
(b) 1 or None and 'a' or 'b'
(c) False and 23
(d) 23 and False
(e) not (1 == 1 and 0 != 1)
(f) "abc" == "Abc" and not (2 == 3 or 3 == 4)
(g) False and 1 == 1 or not True or 1 == 1 and False or 0 == 0
Answer
⇒ None
⇒ 1 or None or 'b'
(b) 1 or None and 'a' or 'b'
⇒ 1 or 'b'
⇒1
⇒ False
(c) False and 23
⇒ False
(d) 23 and False
⇒ not True
⇒ False
⇒ 5 == 25/5 or 20/10
(a) len("hello") == 25/5 or 20/10
⇒ 5 == 5 or 2
⇒ True or 2
⇒ True
The type of result is Boolean.
⇒ True or 50/(5 - (3 + 2)) [∵ first operand is True, second operand is not evaluated so no division by 0 error
(b) 3 < 5 or 50/(5 - (3 + 2))
⇒ True
happens]
⇒ 50/(5 - 5) or 3 < 5
(c) 50/(5 - (3 + 2)) or 3 < 5
⇒ 50/0 or 3 < 5
⇒ Division by Zero Error
As the denominator of or operator's first operand is 0, Division by Zero error occurs.
⇒ 2 * (2 * 2)
(d) 2 * (2 * (len("01")))
⇒2*4
⇒8
The type of result is Integer.
Question 30
Write an expression that uses exactly 3 arithmetic operators with integer literals and produces result as 99.
Answer
9 * 10 + 21 % 12
Question 31
Add parentheses to the following expression to make the order of evaluation more clear.
y % 4 == 0 and y % 100 != 0 or y % 400 == 0
Answer
((y % 4) == 0) and ((y % 100) != 0) or ((y % 400) == 0)
Question 32
A program runs to completion but gives an incorrect result. What type of error would have caused it?
Answer
Logical errors can make a program run till completion but give incorrect result.
Question 33
In Python, strings are immutable while lists are mutable. What is the difference?
Answer
In Python, strings are immutable means that individual letter assignment for strings is not allowed. For example:
name='hello'
name[0] = 'p'
The above Python code will cause an error as we are trying to assign some value to an individual letter of a
string.
Lists are mutable in Python means that we can assign values to individual elements of a list. For example:
a = [1, 2, 3, 4, 5]
a[0] = 10
The above Python code will work correctly without any errors as Lists are mutable in Python.
Question 34
How does the // operator differ from the / operator? Give an example of where // would be needed.
Answer
The Division operator (/) divides its first operand by second operand and always returns the result as a float
value whereas Floor Division operator (//) divides its first operand by second operand and truncates the
fractional part of the result and returns it as an int value. Floor Division operator is useful in situations where we
only need the integer part of the division operation result. For example, to determine how many minutes are
there in some given number of seconds:
secs = 2565
mins = 2565 // 60
Question 35
MidAir Airlines will only allow carry-on bags that are no more than 22 inches long, 14 inches wide, and 9
inches deep. Assuming that variables named length, width, and depth have already been assigned values, write
an expression combining the three that evaluates to True if bag fits within those limits, and False otherwise.
Answer
length <= 22 and width <= 14 and depth <= 9
Question 36
What are main error types? Which types are most dangerous and why?
Answer
The types of errors are:
1. Compile Time Errors (Syntax errors and Semantic Errors)
2. Runtime Errors
3. Logical Errors
Logical Errors are the most dangerous as they are hardest to prevent, find and fix.
Question 37
Correct any false statements:
(a) Compile-time errors are usually easier to detect and to correct than run-time errors.
(b) Logically errors can usually be detected by the compiler.
Answer
(a) The statement is correct.
(b) The statement is incorrect. The correct statement should be:
Logical errors cannot be detected by the compiler.
Question 38
Differentiate between a syntax error and a semantics error.
Answer
Syntax Error Semantics Error
Syntax errors occurs when the rules of the Semantic errors occur when the
programming language are violated. statement are not meaningful.
Example: Example:
x = false x*y=z
Question 39
Differentiate between a syntax error and a logical error in a python program. When is each type of error likely
to be found?
Answer
Syntax Error Logical Error
Syntax Errors occur when we violate the rules
Logical Errors occur due to our
of writing the statements of the programming
mistakes in programming logic.
language.
Program compiles and executes but
Program fails to compile and execute.
doesn't give the desired output.
Logical errors need to be found and
Syntax Errors are caught by the compiler. corrected by people working on the
program.
Syntax errors are found at compile type whereas Logical errors are found when the program starts executing.
Question 40
What is the difference between an error and exception?
Answer
An Error is a bug in the code that causes irregular output or stops the program from executing whereas an
Exception is an irregular unexpected situation occurring during execution on which programmer has no control.
Type B: Application Based Questions
Question 1
What is the result produced by (i) bool (0) (ii) bool (str(0))? Justify the outcome.
Answer
(i) bool (0)
The result is False as truth value of 0 is falsetval
(ii) bool (str(0))
The result is True as str(0) converts 0 to string "0". As it becomes a non-empty string so its truth value is true tval
Question 2
What will be the output, if input for both the statements is 5 + 4/2.
6 == input ("Value 1:")
6 == int(input ("value 2:"))
Answer
Output of first statement is False as '5 + 4/2' is entered as a string so it cannot be equal to the number 6.
The second statement gives an error as int() function cannot convert the string '5 + 4/2' to a valid integer.
Question 3
Following Python code has an expression with all integer values. Why is the result in floating point form?
a, b, c = 2, 3, 6
d = a + b * c/b
print(d)
Answer
The output of the above Python code is 8.0. Division operator is present in the expression. The result of
Division operator is of float type. Due to implicit conversion, other operand in this expression are also
converted to float type and hence the final result is in floating point form.
Question 4a
What will following code print?
a = va = 3
b = va = 3
print (a, b)
Answer
This Python code prints:
3 3
Question 4b
What will following code print?
a = 3
b = 3.0
print (a == b)
print (a is b)
Answer
This Python code prints:
True
False
As values of a and b are equal so equality operator returns True. a is of int type and b is of float type so a and b
are different objects so a is b returns False.
Question 5a
What will be output produced by following code? State reason for this output.
a, b, c = 1, 1, 2
d = a + b
e = 1.0
f = 1.0
g = 2.0
h = e + f
print(c == d)
print(c is d)
print(g == h)
print(g is h)
Answer
Output
True
True
True
False
Explanation
Value of d becomes 2 and as values of c and d are equal so print(c == d) prints True.
Question 5b
What will be output produced by following code? State reason for this output.
a = 5 - 4 - 3
b = 3**2**3
print(a)
print(b)
Answer
Output
-2
6561
Explanation
⇒a=1-3
a=5-4-3
⇒ a = -2
The exponentiation operator (**) has associativity from right to left so:
⇒ b = 3**8
b = 3**2**3
⇒ b = 6561
Question 5c
What will be output produced by following code? State reason for this output.
a, b, c = 1, 1, 1
d = 0.3
e=a+b+c-d
f=a+b+c == d
print(e)
print(f)
Answer
Output
2.7
False
Explanation
⇒ e = 1+1+1-0.3
e = a+b+c-d
⇒ e = 3-0.3
⇒ e = 2.7
As 0.3 is float so implicit conversion converts 3 also to float and result of the expression is of float type.
⇒ f = 1 + 1 + 1 == 0.3
f = a + b + c == d
⇒ f = 3 == 0.3
⇒ f = False
Question 6a
What will be the output of following Python code?
a = 12
b = 7.4
c = 1
a -= b
print(a, b)
a *= 2 + c
print(a)
b += a * c
print(b)
Answer
Output
4.6 7.4
13.799999999999999
21.2
Explanation
⇒a=a-b
a -= b
⇒ a = 12 - 7.4
⇒ a = 4.6
⇒ a = 4.6 * (2 + c)
a *= 2 + c
⇒ a = 4.6 * (2 + 1)
⇒ a = 4.6 * 3
⇒ a = 13.799999999999999
⇒ b = b + (a * c)
b += a * c
⇒ b = 7.4 + (13.799999999999999 * 1)
⇒ b = 7.4 + 13.799999999999999
⇒ b = 21.2
Question 6b
What will be the output of following Python code?
x, y = 4, 8
z = x/y*y
print(z)
Answer
Output
4.0
Explanation
⇒ z = 4/8*8
z = x/y*y
⇒ z = 0.5*8
⇒ z = 4.0
Question 7
Make change in the expression for z of previous question so that the output produced is zero. You cannot
change the operators and order of variables. (Hint. Use a function around a sub-expression)
Answer
x, y = 4, 8
z = int(x/y)*y
print(z)
Question 8
Consider the following expression:
x = "and" * (3 + 2) > "or" + "4"
What is the data type of value that is computed by this expression?
Answer
The data type of value that is computed by this expression is bool.
⇒ True
⇒ -6 < -6 or 4 ** 2 < 10
⇒ -6 < -6 or 16 < 10
⇒ False or False
⇒ False
Question 20
Program is giving a weird result of "0.50.50.50.50.50.50..........". Correct it so that it produces the correct result
which is the probability value (input as 0.5) times 150.
probability = input("Type a number between 0 and 1: ")
print("Out of 150 tries, the odds are that only", (probability * 150), "will succeed.")
[Hint. Consider its datatype.]
Answer
The corrected program is below:
probability = float(input("Type a number between 0 and 1: "))
print("Out of 150 tries, the odds are that only", (probability * 150), "will succeed.")
Question 21
Consider the code given below:
import random
r = random.randrange(100, 999, 5)
print(r, end = ' ')
r = random.randrange(100, 999, 5)
print(r, end = ' ')
r = random.randrange(100, 999, 5)
print(r)
Which of the following are the possible outcomes of the above code ? Also, what can be the maximum and
minimum number generated by line 2 ?
(a) 655, 705, 220
(b) 380, 382, 505
(c) 100, 500, 999
(d) 345, 650, 110
Answer
The possible outcomes of the above code can be:
Option (a) — 655, 705, 220
Option (d) — 345, 650, 110
Maximum number can be 995 and minimum number can be 100.
Question 22
Consider the code given below:
import random
r = random.randint(10, 100) - 10
print(r, end = ' ')
r = random.randint(10, 100) - 10
print(r, end = ' ')
r = random.randint(10, 100) - 10
print(r)
Which of the following are the possible outcomes of the above code? Also, what can be the maximum and
minimum number generated by line 2?
(a) 12 45 22
(b) 100 80 84
(c) 101 12 43
(d) 100 12 10
Answer
The possible outcomes of the above code can be:
Option (a) — 12 45 22
Maximum number can be 90 and minimum number can be 0.
Question 23
Consider the code given below:
import random
r = random.random() * 10
print(r, end = ' ')
r = random. random() * 10
print(r, end = ' ')
r = random.random() * 10
print(r)
Which of the following are the possible outcomes of the above code? Also, what can be the maximum and
minimum number generated by line 2 ?
(a) 0.5 1.6 9.8
(b) 10.0 1.0 0.0
(c) 0.0 5.6 8.7
(d) 0.0 7.9 10.0
Answer
The possible outcomes of the above code can be:
Option (a) — 0.5 1.6 9.8
Option (c) — 0.0 5.6 8.7
Maximum number can be 9.999999..... and minimum number can be 0.
Question 24
Consider the code given below:
import statistics as st
v = [7, 8, 8, 11, 7, 7]
m1 = st.mean(v)
m2 = st.mode(v)
m3 = st.median(v)
print(m1, m2, m3)
Which of the following is the correct output of the above code?
(a) 7 8 7.5
(b) 8 7 7
(c) 8 7 7.5
(c) 8.5 7 7.5
Answer
The correct output of the above code is:
Option (c) — 8 7 7.5
Type C: Programming Practice/Knowledge based Questions
Question 1
Write a program to obtain principal amount, rate of interest and time from user and compute simple interest.
Solution
p = float(input("Enter principal: "))
r = float(input("Enter rate: "))
t = float(input("Enter time: "))
si = p * r * t / 100
x = int(input("Enter x: "))
y = int(input("Enter y: "))
z = int(input("Enter z: "))
res = 4 * x ** 4 + 3 * y ** 3 + 9 * z + 6 * math.pi
mins = totalSecs // 60
secs = totalSecs % 60
d1 = x % 10
x //= 10
d2 = x % 10
x //= 10
d3 = x % 10
y = d1 * 100 + d2 * 10 + d3
print("Reversed Number:", y)
Output
Enter a three digit number: 123
Reversed Number: 321
Question 9
Write a program to take two inputs for day, month and then calculate which day of the year, the given date is.
For simplicity, take 30 days for all months. For example, if you give input as: Day3, Month2 then it should print
"Day of the year : 33".
Solution
d = int(input("Enter day: "))
m = int(input("Enter month: "))
n = (m - 1) * 30 + d
d = y * 365
h = d * 24
m = h * 60
s = m * 60
a = random.randint(0, 5)
b = random.randint(0, 5)
c = a ** b
print("Generated Numbers:")
print(a, b, c, d, e, f)
seq = (a, b, c, d, e, f)
mean = statistics.mean(seq)
median = statistics.median(seq)
mode = statistics.mode(seq)
a = random.randrange(100, 999, 5)
b = random.randrange(100, 999, 5)
c = random.randrange(100, 999, 5)
print("Generated Numbers:", a, b, c)
Output
Generated Numbers: 885 825 355
Question 15
Write a program to generate 6 digit random secure OTP between 100000 to 999999.
Solution
import random
print("OTP:", otp);
Output
OTP: 553072
Question 16
Write a program to generate 6 random numbers and then print their mean, median and mode.
Solution
import random
import statistics
a = random.random()
b = random.random()
c = random.random()
d = random.random()
e = random.random()
f = random.random()
print("Generated Numbers:")
print(a, b, c, d, e, f)
seq = (a, b, c, d, e, f)
mean = statistics.mean(seq)
median = statistics.median(seq)
mode = statistics.mode(seq)
c = math.sqrt(a ** 2 + b ** 2)
print("Hypotenuse =", c)
Output
Enter base: 10.5
Enter height: 5.5
Enter angle: 60
Hypotenuse = 11.853269591129697
Question 18
Write a program to calculate the radius of a sphere whose area (4πr2) is given.
Solution
import math
r = math.sqrt(area / (4 * math.pi))
r = 8
h = 15
v = math.pi * r * r * h
si = p * r * t / 100
amt = p + si
amt = p * (1 + r / 100) ** t