String Manipulation — Question 12
Back to all questionsQuestion 6
Carefully go through the code given below and answer the questions based on it :
in1Str = input(" Enter string of digits: ")
in2Str = input(" Enter string of digits: ")
if len(in1Str)>len(in2Str):
small = in2Str
large = in1Str
else:
small = in1Str
large = in2Str
newStr = ''
for element in small:
result = int(element) + int(large[0])
newStr = newStr + str(result)
large = large[1:]
print (len(newStr)) # Line 1
print (newStr) # Line 2
print (large) # Line 3
print (small) # Line 4(i) Given a first input of 12345 and a second input of 246, what result is produced by Line 1?
- 1
- 3
- 5
- 0
- None of these
Answer
Option 2 — 3
Explanation
As length of smaller input is 3, for loop executes 3 times so 3 characters are added to newStr. Hence, length of newStr is 3.
(ii) Given a first input of 12345 and a second input of 246, what result is produced by Line 2?
- 369
- 246
- 234
- 345
- None of these
Answer
Option 1 — 369
Explanation
For loop executes 3 times as length of smaller input is 3.
1st Iteration
result = 2 + 1
⇒ result = 3
newStr = '' + '3'
⇒ newStr = '3'
large = 2345
2nd Iteration
result = 4 + 2
⇒ result = 6
newStr = '3' + '6'
⇒ newStr = '36'
large = 345
3rd Iteration
result = 6 + 3
⇒ result = 9
newStr = '36' + '9'
⇒ newStr = '369'
large = 45
Final value of newStr is '369'.
(iii) Given a first input of 123 and a second input of 4567, what result is produced by Line 3?
- 3
- 7
- 12
- 45
- None of these
Answer
Option 2 — 7
Explanation
For loop executes 3 times as length of smaller input is 3. Initial value of large is 4567.
1st Iteration
large = large[1:]
⇒ large = 567
2nd Iteration large = large[1:]
⇒ large = 67
3rd Iteration large = large[1:]
⇒ large = 7
(iv) Given a first input of 123 and a second input of 4567, what result is produced by Line 4?
- 123
- 4567
- 7
- 3
- None of these
Answer
Option 1 — 123
Explanation
As length of 123 is less than length of 4567 so 123 is assigned to variable small and gets printed in line 4.