Loading...
Please wait while we prepare your content
Please wait while we prepare your content
Solutions for Computer Science, Class 11, CBSE
Assertion (A): When a set of statements is indented under the same block, starting from the same indentation, it is said to be a compound statement.
Reasoning (R): Compound Statement begins with a header ending with a colon (:) sign and the statements under the same indentation are marked as a block.
Both A and R are true and R is the correct explanation of A.
Explanation
A compound statement in Python is formed when multiple statements are grouped together under the same block of indentation. The header line begins with a keyword and ends with a colon (:). Subsequent statements that are indented under the same level are considered part of the block.
Assertion (A): The conditional flow of control is implemented using if statement.
Reasoning (R): if statements can only be used to execute a single statement or a block of statements if a certain condition is true.
Both A and R are true and R is the correct explanation of A.
Explanation
The if
statement in Python allows conditional flow of control. It evaluates a condition and executes one or more statements based on whether the condition is true or false. If the condition evaluates to true, the statement block following the if statement (indented code) gets executed, otherwise, if the condition is false, that block is skipped, and the program continues with the next statement after the if
block.
Assertion (A): In an if-else statement, the if block checks the true part whereas the else checks for the false part.
Reasoning (R): if-else is a conditional construct where else block is mandatory.
A is true but R is false.
Explanation
In an if-else
statement, the if
block checks the condition for the true part, whereas the else
block executes if the condition is false. The else
block in an if-else
statement is not mandatory.
Assertion (A): When a Python code is unable to accept an input, it results in runtime error.
Reasoning (R): Runtime error arises due to incorrect statement that results in no output.
A is true but R is false.
Explanation
When a Python code is unable to accept an input, it results in a runtime error. Runtime errors arise due to issues that occur while the program is running, such as attempting to use invalid operations on data types. In contrast, syntax error arises due to incorrect statement that results in no output.
Assertion (A): The break and continue statements are known as jump statements.
Reasoning (R): Jump statements are used only with looping constructs and not with conditional constructs.
Both A and R are true and R is the correct explanation of A.
Explanation
In Python, break and continue are categorized as jump statements because they alter the flow of control in loops. Jump statements, such as break and continue, are used within loop constructs to control the flow of execution. Python does not have a switch-case conditional construct. Hence, in Python, jump statements are not used with conditional constructs.
Assertion (A): The range() method is used with both for and while loops.
Reasoning (R): By default, the values for start and step are 0 (zero) and 1 (one), respectively.
A is false but R is true.
Explanation
The range()
function is used with for
loops to iterate over a sequence of numbers, not with while
loops. By default, the values for start and step are 0 (zero) and 1 (one), respectively.
Assertion (A): The for loop is described as finite loop and while loop is described as unknown or indefinite iterative construct.
Reasoning (R): You cannot use while loop for menu-driven programs.
A is true but R is false.
Explanation
The for
loop is described as a finite loop because it iterates over a sequence of elements with a known length. The while
loop is described as an indefinite iterative construct because it continues to execute as long as a condition is true, without a predetermined number of iterations. We can use a while
loop for menu-driven programs to repeatedly display a menu and process user input until a certain condition is met.
for statement
Reason — The for
statement is not a decision-making statement in Python. Instead, the for
loop statement is used to iterate/repeat itself over a range of values or a sequence.
do-while
Reason — In Python, the do-while
loop statement does not exist. The language provides only two primary loop constructs: the for
loop and the while
loop, which are used to handle different looping requirements.
Infinite
Reason — The code will result in an infinite loop because the value of a
is never modified within the loop. The condition a > 0
will always be true, causing the print(a)
statement to be executed indefinitely without changing the value of a
.
In a Python program, a control structure:
Directs the order of execution of the statements in the program
Reason — A control structure in a Python program is used to direct the order of execution of the statements in the program. Control structures, such as loops and conditional statements, determine the flow of control in the program, allowing for the execution of code blocks based on certain conditions or repeatedly based on a loop condition.
1,4,7,10,13,16,19,
Reason — The above code uses a for
loop to iterate over a sequence of numbers generated by range(1, 20, 3)
. This range starts at 1, ends before 20, and increments by 3 in each step. During each iteration, the current value of x
is printed followed by a comma due to the end=','
parameter in the print function. Therefore, the output is 1,4,7,10,13,16,19, showing the sequence of numbers separated by commas.
statements indented at a lower, same level
Reason — In Python, a block in a compound statement is created by indenting the statements to the same level.
A loop may contain another loop as a part of its body. This loop inside a loop is called a nested loop. Once the condition of outer loop is true, the control is transferred to the inner loop. The inner loop is terminated first and then the outer loop terminates.
For example,
for i in range(1, 4):
for j in range(1, i+1):
print(j, end = '')
print()
1
12
123
Here, range
function will generate value 1, 2, 3 in the outer loop. The inner loop will run for each value of i
used in outer loop. The value of outer loop variable will change only after the inner loop completely terminates.
Updating the loop control variable in while
statements is essential to prevent infinite loops. If the loop control variable is not updated within the loop body, the condition may always evaluate to true, causing the loop to run indefinitely.
Construct a logical expression to represent each of the following conditions:
(a) Mark is greater than or equal to 100 but less than 70.
(b) Num is between 0 and 5 but not equal to 2.
(c) Answer is either 'N' OR 'n'.
(d) Age is greater than or equal to 18 and gender is male.
(e) City is either 'Kolkata' or 'Mumbai'.
(a) (marks >= 100) and (marks < 70)
(b) (num > 0) and (num < 5) and (num != 2)
(c) (answer == 'N') or (answer == 'n')
(d) (age >= 18) and (gender == 'male')
(e) (city == 'Kolkata') or (city == 'Mumbai')
code = input("Enter season code : ")
if code=w: #Error 1
print "winter season" #Error 2
elif code==r: #Error 3
PRINT "rainy season" #Error 4
else:
Print "summer season" # Error 5
Error 1 — The assignment operator '=' is used instead of equality operator '==' in the if
statement and the string 'w' should be enclosed in quotes.
Error 2 — Parentheses around the print statement are missing.
Error 3 — String 'r' should be enclosed in quotes.
Error 4 — The print statement should be in lowercase letters and there should be parentheses around the print statement.
Error 5 — The print statement should be in lowercase letters and there should be parentheses around the print statement.
The corrected code is :
code = input("Enter season code: ")
if code == "w":
print("winter season")
elif code == "r":
print("rainy season")
else:
print("summer season")
20
16
1. range(10, 6, -2)
: This generates a sequence of numbers starting from 10 (inclusive) and decreases by 2 each time, stopping before it reaches 6 (exclusive).
The general form of the range
function is range(start, stop, step)
, where:
start
is the starting number of the sequence.stop
is the endpoint (the number is not included in the sequence).step
specifies the increment (or decrement, if negative) between each number in the sequence.2. The sequence generated by range(10, 6, -2)
is:
So, the sequence generated is: 10, 8.
3. for j in range(10, 6, -2):
: The for
loop iterates over each number in the sequence generated by the range
function.
4. print(j * 2)
: This prints the value of j
multiplied by 2 for each iteration.
Let’s analyze the loop iteration by iteration:
First iteration (j = 10):
print(10 * 2)
This prints:
20
Second iteration (j = 8):
print(8 * 2)
This prints:
16
Putting it all together, the full output will be:
20
16
1 1
2 1
2 2
3 1
3 2
3 3
4 1
4 2
4 3
4 4
5 1
5 2
5 3
5 4
5 5
Below is the detailed explanation of this code:
1. Outer Loop: for x in range(1, 6):
x
will take on the values: 1, 2, 3, 4, 5.2. Inner Loop: for y in range(1, x + 1):
x
in the outer loop, y
will iterate over the range of numbers starting from 1 up to and including x
(since x + 1
is exclusive).3. print(x, ' ', y)
x
and y
separated by a space.Let’s analyze the loops iteration by iteration.
Outer loop (x
values ranging from 1 to 5):
When x = 1
:
range(1, 2)
results in y
taking values: 1.1 1
When x = 2
:
range(1, 3)
results in y
taking values: 1, 2.2 1
2 2
When x = 3
:
range(1, 4)
results in y
taking values: 1, 2, 3.3 1
3 2
3 3
When x = 4
:
range(1, 5)
results in y
taking values: 1, 2, 3, 4.4 1
4 2
4 3
4 4
When x = 5
:
range(1, 6)
results in y
taking values: 1, 2, 3, 4, 5.5 1
5 2
5 3
5 4
5 5
Putting all these outputs together, we get:
1 1
2 1
2 2
3 1
3 2
3 3
4 1
4 2
4 3
4 4
5 1
5 2
5 3
5 4
5 5
11
13
15
17
19
Below is the detailed explanation of this code:
for x in range(10, 20):
→ This loop iterates over the range of numbers starting from 10 (inclusive) up to but not including 20 (exclusive). So, x
will take on the values: 10, 11, 12, 13, 14, 15, 16, 17, 18, 19.
if x % 2 == 0:
→ For each value of x
, this condition checks if x
is an even number. The modulus operator %
returns the remainder of x
divided by 2. If the remainder is 0, x
is even.
continue
→ If the condition x % 2 == 0
is true (i.e., x
is even), the continue
statement is executed. This statement skips the rest of the code inside the loop for the current iteration and moves to the next iteration.
print(x)
→ This line prints the value of x
if it is not even (i.e., if the continue
statement is not executed).
Let’s analyze the loop iteration by iteration:
When x = 10
:
10 % 2 == 0
is true.continue
is executed, so print(x)
is skipped.When x = 11
:
11 % 2 == 0
is false.print(x)
outputs:11
When x = 12
:
12 % 2 == 0
is true.continue
is executed, so print(x)
is skipped.When x = 13
:
13 % 2 == 0
is false.print(x)
outputs:13
When x = 14
:
14 % 2 == 0
is true.continue
is executed, so print(x)
is skipped.When x = 15
:
15 % 2 == 0
is false.print(x)
outputs:15
When x = 16
:
16 % 2 == 0
is true.continue
is executed, so print(x)
is skipped.When x = 17
:
17 % 2 == 0
is false.print(x)
outputs:17
When x = 18
:
18 % 2 == 0
is true.continue
is executed, so print(x)
is skipped.When x = 19
:
19 % 2 == 0
is false.print(x)
outputs:19
Putting all these outputs together, the full output will be:
11
13
15
17
19
ok
average
if x > 10:
x
is greater than 10.x = 50
, which is greater than 10, this condition is true.Nested if x > 25:
x
is greater than 25.x = 50
, which is greater than 25, this condition is also true.ok
Nested if x > 60:
x
is greater than 60.x = 50
, which is not greater than 60, this condition is false.elif
part.Nested elif x > 40:
x
is greater than 40.x = 50
, which is greater than 40, this condition is true.average
The else
block
else
block is not executed because the elif x > 40:
condition was true.o o
Let’s break down the code step-by-step:
Outer Loop: for i in range(2):
→ This loop iterates over the range of numbers starting from 0 up to but not including 2. So, i
will take on the values: 0, 1.
Inner Loop: for j in range(1):
→ For each value of i
in the outer loop, j
will iterate over the range of numbers starting from 0 up to but not including 1. So, j
will take on the only value: 0.
if i + 2 == j:
→ This condition checks if i + 2
is equal to j
.
print("+", end=" ")
→ If the condition i + 2 == j
is true, this statement prints a "+", followed by a space, without moving to a new line.
print("o", end=" ")
→ If the condition i + 2 == j
is false, this statement prints an "o", followed by a space, without moving to a new line.
Let’s analyze the loops iteration by iteration:
i + 2 == j
becomes 0 + 2 == 0
, which is 2 == 0
, is false.else
block is executed, and the output is o
i + 2 == j
becomes 1 + 2 == 0
, which is 3 == 0
, is false.else
block is executed, and the output is o
So, combining the outputs of all iterations, the full output will be:
o o
Each "o" is followed by a space, and there is no new line between them due to the end=" "
parameter in the print
function.
9
In the above code, num1 += num2 + num3
is a shorthand notation for num1 = num1 + num2 + num3
.
Given,
num1 = 4
num2 = 3
num3 = 2
First, the expression num2 + num3
is evaluated:
num2 + num3 = 3 + 2 = 5
Now the expression becomes:
num1 = num1 + 5
which translates to:
num1 = 4 + 5 = 9
27.2
num1 = 2 + 9 * ((3*12)-8)/10
Let's calculate this step by step, following the precedence of operators in Python:
1. Evaluate the innermost parentheses first:
3 * 12 = 36
2. Replace and continue evaluating inside the parentheses:
((3*12)-8) => (36 - 8) = 28
3. Now, evaluate the multiplication and division:
9 * 28 = 252
4. Continue with dividing by 10:
252 / 10 = 25.2
5. Finally, add 2:
2 + 25.2 = 27.2
The print(num1)
statement outputs 27.2
True
In the expression 5 % 10 + 10 < 50 and 29 <= 29
, according to operator precedence, 5 % 10 calculates to 5, then 5 + 10 equals 15. Next, 15 < 50 evaluates to True. Separately, 29 <= 29 also evaluates to True. The and
operator then combines these results. Since both conditions are True, the and
operator yields True, which is printed.
The else
statement is a default condition that executes when the preceding if
and elif
(if any) conditions evaluate to False. It does not take any conditions and is written simply as else:
, followed by an indented block of code. On the other hand, elif
is used to check additional conditions after the initial if
statement. If the if
condition is False, Python evaluates the elif
condition. It is followed by a condition and ends with a colon (:), followed by a block of code.
20
22
24
26
28
Below is a detailed explanation of this code:
range(20, 30, 2)
: This generates a sequence of numbers starting from 20 (inclusive) up to but not including 30 (exclusive), incrementing by 2 each time.
The general form of the range
function is range(start, stop, step)
,where:
start
is the starting number of the sequence.stop
is the endpoint (the number is not included in the sequence).step
specifies the increment between each number in the sequence.for i in range(20, 30, 2):
: The for
loop iterates over each number generated by the range
function and assigns it to the variable i
during each iteration.
print(i)
: This prints the current value of i
for each iteration.
Let's list the numbers generated by range(20, 30, 2)
:
stop
parameter is exclusive of the value.Therefore, the sequence of numbers is: 20, 22, 24, 26, 28.
I
N
D
I
A
Here's the detailed explanation:
1. String Assignment:
country = 'INDIA'
This line assigns the string 'INDIA'
to the variable country
.
2. for i in country:
: The for
loop iterates over each character in the string country
. The variable i
will take on the value of each character in the string one at a time.
3. print(i)
: This prints the current character stored in the variable i
for each iteration.
Let’s analyze the loop iteration by iteration:
i
is 'I'
, so print(i)
outputs: I
.i
is 'N'
, so print(i)
outputs: N
.i
is 'D'
, so print(i)
outputs: D
.i
is 'I'
, so print(i)
outputs: I
.i
is 'A'
, so print(i)
outputs: A
.Putting it all together, the output will be each character of the string 'INDIA'
printed on a new line:
I
N
D
I
A
12
Let's break down the code step-by-step:
1. Initial Assignments:
i = 0
sum = 0
Two variables are initialized: i
is set to 0, and sum
is set to 0.
2. while i < 9:
→ This loop continues to execute as long as i
is less than 9.
3. Inside the while
loop:
First iteration (i = 0):
if i % 4 == 0:
→ 0 % 4
equals 0
, so the condition is true.sum = sum + i
→ sum
is updated to sum + 0
, which is 0 + 0 = 0
.i = i + 2
→ i
is updated to 0 + 2 = 2
.Second iteration (i = 2):
if i % 4 == 0:
→ 2 % 4
equals 2
, so the condition is false.sum
remains unchanged.i = i + 2
→ i
is updated to 2 + 2 = 4
.Third iteration (i = 4):
if i % 4 == 0:
→ 4 % 4
equals 0
, so the condition is true.sum = sum + i
→ sum
is updated to sum + 4
, which is 0 + 4 = 4
.i = i + 2
→ i
is updated to 4 + 2 = 6
.Fourth iteration (i = 6):
if i % 4 == 0:
→ 6 % 4
equals 2
, so the condition is false.sum
remains unchanged.i = i + 2
→ i
is updated to 6 + 2 = 8
.Fifth iteration (i = 8):
if i % 4 == 0:
→ 8 % 4
equals 0
, so the condition is true.sum = sum + i
→ sum
is updated to sum + 8
, which is 4 + 8 = 12
.i = i + 2
→ i
is updated to 8 + 2 = 10
.Sixth iteration (i = 10):
while i < 9:
is no longer true (10 is not less than 9), so the loop terminates.4. print(sum)
→ After exiting the loop, the value of sum
is printed.
Summarizing all updates to sum
:
sum
= 0.sum
= 4.sum
= 12.Therefore, the output of the code is:
12
Write a program to check if the number is positive or negative and display an appropriate message.
number = int(input("Enter a number: "))
if number > 0:
print("The number is positive.")
else:
print("The number is negative.")
Enter a number: 4
The number is positive.
Enter a number: -6
The number is negative.
WAP to perform all the mathematical operations of a calculator.
print("Select operation:")
print("1. Add")
print("2. Subtract")
print("3. Multiply")
print("4. Divide")
choice = input("Enter choice (1/2/3/4): ")
num1 = float(input("Enter first number: "))
num2 = float(input("Enter second number: "))
if choice == '1':
result = num1 + num2
print(num1, "+", num2, "=", result)
elif choice == '2':
result = num1 - num2
print(num1, "-", num2, "=", result)
elif choice == '3':
result = num1 * num2
print(num1, "*", num2, "=", result)
elif choice == '4':
if num2 != 0:
result = num1 / num2
print(num1, "/", num2, "=", result)
else:
print("Division by zero is not allowed.")
else:
print("Invalid input")
Select operation:
1. Add
2. Subtract
3. Multiply
4. Divide
Enter choice (1/2/3/4): 1
Enter first number: 23
Enter second number: 45
23.0 + 45.0 = 68.0
Select operation:
1. Add
2. Subtract
3. Multiply
4. Divide
Enter choice (1/2/3/4): 2
Enter first number: 48
Enter second number: 23
48.0 - 23.0 = 25.0
Select operation:
1. Add
2. Subtract
3. Multiply
4. Divide
Enter choice (1/2/3/4): 3
Enter first number: 3
Enter second number: 6
3.0 * 6.0 = 18.0
Select operation:
1. Add
2. Subtract
3. Multiply
4. Divide
Enter choice (1/2/3/4): 4
Enter first number: 245
Enter second number: 5
245.0 / 5.0 = 49.0
Write a program to accept a number and display the factorial of that number.
number = int(input("Enter a number: "))
factorial = 1
if number < 0:
print("Factorial is not defined for negative numbers.")
else:
for i in range(1, number + 1):
factorial *= i
print("The factorial of", number, "is", factorial)
Enter a number: 5
The factorial of 5 is 120
WAP to print the sum of the series 1 - x1/2! + x2/3! - x3/4! ............... xn/(n + 1)! — exponential series.
x = int(input("Enter x: "))
n = int(input("Enter n: "))
sum_series = 1
sign = -1
for i in range(1, n + 1):
fact = 1
for j in range(1, i + 2):
fact *= j
term = sign * (x ** i) / fact
sum_series += term
sign *= -1
print("Sum =", sum_series)
Enter x: 2
Enter n: 3
Sum = 0.3333333333333333
WAP to print the sum of the series 1 - x2/4! + x3/6! - x4/8! + x5/10! ............... xn/(2n)! — exponential series.
x = int(input("Enter x: "))
n = int(input("Enter n: "))
sum_series = 1
sign = -1
for i in range(2, n + 1):
fact = 1
for j in range(1, 2 * i + 1):
fact *= j
term = sign * (x ** i) / fact
sum_series += term
sign *= -1
print("Sum =", sum_series)
Enter x: 2
Enter n: 3
Sum = 0.8444444444444444
WAP to display the sum of the given series:
Sum = 1 + (1 + 2) + (1 + 2 + 3) + (1 + 2 + 3.....n)
n = int(input("Enter the value of n: "))
sum = 0
for i in range(1, n + 1):
for j in range(1, i + 1):
sum += j
print("The sum of the series is:", sum)
Enter the value of n: 4
The sum of the series is: 20
True
Reason — The continue
statement in Python is used within loops to skip the rest of the code inside the current iteration and immediately proceed to the next iteration of the loop.
True
Reason — In Python, the else block associated with a for
loop is executed when the loop terminates normally, meaning it has iterated over all items or reached its termination condition.