# The Joy of Computing Using Python NPTEL Assignment 6 Answers

Are you looking for The Joy of Computing Using Python NPTEL Week 6 Answers? You’ve come to the right place! Access the latest and most accurate solutions for your Assignment 6 in The Joy of Computing Using Python course

**Course Link: Click Here**

## Table of Contents

**The Joy of Computing Using Python NPTEL Week 6 Answers (July-Dec 2024)**

**1. If n is a positive integer, what is the output of the function given input n,**

Sum of numbers from 1 to n

Sum of numbers from 1 to n-1

n-1

n

**Answer:** n

**2. **Which of the following are true about recursion?

Recursion is a process in which a function calls itself as a subroutine.

Recursion is a better alternative for performing repetitive tasks compared to iteration.

Recursion requires more resources compared to iteration.

**Answer:** Recursion is a process in which a function calls itself as a subroutine.

Recursion requires more resources compared to iteration.

**3. What is the output of following code ?**

10

8

5

Error

**Answer:** 8

**4. **The letter ‘e’ is the most frequently occurring letter in the English language. Suppose we apply a Substitution Cipher where ‘e’ is mapped to ‘a’, and all other letters are uniquely mapped to different letters. If we encrypt a very long English storybook using this cipher, will the frequency of ‘a’ be the highest in the encrypted text?

Hint: Search the internet for more info, if needed

Yes, it would be same as ’e’ in the original text

Yes, it would be higher than ’e’ in the original text.

No, it would be lower than ’e’ in the original text.

No, we cannot predict

**Answer:** Yes, it would be same as ’e’ in the original text

**5. **Could we check frequency of letters in a long ciphertext and map them to frequency of letters in English to decrypt the message?

Hint: Search the internet for more info, if needed.

Yes, it is possible.

No, it is not possible.

**Answer:** Yes, it is possible.

**6. **What are drawbacks of using frequency analysis to decrypt a message that has been encrypted using Substitution Cipher?

It will not work if the cipher text is too small.

It works flawlessly.

It will not work if the encrypted text was previously encrypted using a different cipher, which could have removed patterns in common English.

The frequency analysis method doesn’t work at all for Substitution Cipher

**Answer:** It will not work if the cipher text is too small.

It will not work if the encrypted text was previously encrypted using a different cipher, which could have removed patterns in common English.

**7. **If variable dict name is a non-empty dictionary, what does dict name.keys() return?

Returns nothing, but prints all the keys in the dictionary.

Returns a list of all the keys in the dictionary.

Returns a list of all the values in the dictionary.

Returns a list of all the items in the dictionary

**Answer:** Returns a list of all the keys in the dictionary.

**8. **Is Ceaser Cipher a type of Substitution Cipher?

Yes

No

**Answer:** Yes

**9. **What is the consequence of not having a base case in a recursive function?

The function will run infinitely.

The function will run only once.

The function will not run at all.

The function will run only for a fixed number of times.

**Answer:** The function will run infinitely.

**10. **What are the number of possible final lines when someone wins, in a game of TicTac-Toe?

3

8

9

4

**Answer:** 8

All Weeks of The Joy of Computing Using Python: Click here

For answers to additional Nptel courses, please refer to this link: NPTEL Assignment Answers

**The Joy of Computing Using Python NPTEL Week 6 Answers (JAN-APR 2024**)

**Course Name: The Joy of Computing using Python**

**Course Link: Click Here**

**For answers or latest updates join our telegram channel: Click here to join**

**These are the Joy of Computing using Python Assignment 6 Answers**

Q1. What is the output of following code:

14930352

75025

610

None of the above

**Answer: 75025**

**Q2. Which method in Python is used to convert lowercase letters in a string to uppercase?**

upper()

capitalize()

casefold()

swapcase()

**Answer: upper()**

**For answers or latest updates join our telegram channel: Click here to join**

**These are the Joy of Computing using Python Assignment 6 Answers**

**Q3. The “Min Max” strategy, often referred to as the minimax algorithm, is a decision-making algorithm used in game theory and artificial intelligence. It’s commonly employed in two-player games with alternate turns and perfect information, such as chess or tic-tac-toe. What is the primary objective of the min max algorithm?**

Maximizing the player’s score

Minimizing the opponent’s score

Minimizing the maximum possible loss

Maximizing the number of moves

**Answer: Minimizing the maximum possible loss**

**Q4. Typecasting refers to the conversion of one data type to another. Python provides several built-in functions for typecasting, such as int(), float(), str(), list(), tuple(), set(), and dict() among others, to convert between different data types. What would be the output of the following code?**

123

ValueError

SyntaxError

NameError

**Answer: ValueError**

**For answers or latest updates join our telegram channel: Click here to join**

**These are the Joy of Computing using Python Assignment 6 Answers**

**Q5. What term is used in programming languages when a function calls itself?**

Self-referencing

Iteration

Recursion

Circular referencing

**Answer: Recursion**

**Q6. Consider the following snippet of code.If L is a non-empty list of positive integers, which of the following statements is correct about the recursive function func(L)?**

It returns the total number of odd elements in the list L

It returns the total number of even elements in the list L

It returns the sum of the even elements in the list L

It returns the sum of the odd elements in the list L

**Answer: It returns the total number of even elements in the list L**

**For answers or latest updates join our telegram channel: Click here to join**

**These are the Joy of Computing using Python Assignment 6 Answers**

**Q7. Consider the following snippet of code.If L is a non-empty list of positive integers, which of the following statements is correct about the recursive function func(L)?**

It returns the total number of odd elements in the list L

It returns the total number of even elements in the list L

It returns the sum of the even elements in the list L

It returns sum of the odd elements in the list L

**Answer: It returns sum of the odd elements in the list L**

**Q8. What purpose does a base case serve in recursive functions?**

To make the function run faster

To eliminate the need for additional functions

To prevent infinite recursion and ensure termination

To enable the function to handle complex calculations

**Answer: To prevent infinite recursion and ensure termination**

**For answers or latest updates join our telegram channel: Click here to join**

**These are the Joy of Computing using Python Assignment 6 Answers**

**Q9. What is the value returned by f(10000)?**

Answer: 7

**Q10. What is the value returned by f(-8)?**

Answer: 5

**For answers or latest updates join our telegram channel: Click here to join**

**These are the Joy of Computing using Python Assignment 6 Answers**

**Programming Assignment**

**Question 1**

**The distance between two letters in the English alphabet is one more than the number of letters between them. Alternatively, it can be defined as the number of steps needed to move from the alphabetically smaller letter to the larger letter. This is always a non-negative integer. For example:The distance between two words is defined as follows:It is -1, if the words are f unequal lengths.If the word-lengths are equal, it is the sum of the distances between letters at corresponding positions in the words. For example:dword(dog,cat)=dletter(d,c)+dletter(o,a)+dletter(g,t)=1+14+13=28**

**Write a function named distance that accepts two words as arguments and returns the distance between them.You do not have to accept input from the user or print output to the console. You just have to write the function definition.**

**Solution:**

```
def distance(word1, word2):
if len(word1) != len(word2):
return(-1)
dis = 0
for i in range(len(word1)):
dis += abs(ord(word1[i]) - ord(word2[i]))
return(dis)
```

**For answers or latest updates join our telegram channel: Click here to join**

**These are the Joy of Computing using Python Assignment 6 Answers**

**Question 2**

**P is a dictionary of father-son relationships that has the following structure: for any key in the dictionary, its corresponding value is the father of key.**

**Solution:**

```
def ancestry(P, present, past):
if present == past:
return([present])
if present not in P:
return(None)
ancestral_chains = ancestry(P, P[present], past)
if ancestral_chains:
return([present] + ancestral_chains)
return(None)
```

**For answers or latest updates join our telegram channel: Click here to join**

**These are the Joy of Computing using Python Assignment 6 Answers**

**Question 3**

**Fibonacci is a young resident of the Italian city of Pisa. He spends a lot of time visiting the Leaning Tower of Pisa, one of the iconic buildings in the city, that is situated close to his home. During all his visits to the tower, he plays a strange game while climbing the marble steps of the tower.You do not have to accept input from the user or print output to the console. You just have to write the function definition.**

**Solution:**

```
def steps(n):
if n <= 0:
return 0
elif n == 1:
return 1
elif n == 2:
return 2
elif n == 3:
return 4
one_steps = steps(n-1)
two_steps = steps(n-2)
three_steps = steps(n-3)
return(one_steps + two_steps + three_steps)
```

**For answers or latest updates join our telegram channel: Click here to join**

**These are the Joy of Computing using Python Assignment 6 Answers**

More Weeks of The Joy of Computing Using Python: Click here

More Nptel Courses: Click here

**The Joy of Computing Using Python NPTEL Week 6 Answers (July-Dec 2023)**

**Course Name: The Joy of Computing using Python**

**Course Link: Click Here**

**These are the Joy of Computing using Python Assignment 6 Answers**

**Q1. What will be the output of the following code?**

Shift every letter in a given word by value.

Shift every letter in a given word by 1.

Shift every letter in a given word by 26.

Returns the same word.

**Answer: Shift every letter in a given word by value.**

**Q2. In the list L = [4,6,7,4,6,2,1], What is the index of element ‘7’?**

0

1

2

3

**Answer: 2**

**Q3. Which of the following is true about recursion?**

Recursion always performs better than non-recursive code.

Recursive code is easier to debug.

The base case is necessary for recursion.

Recursive code can be shorter than non-recursive code

**Answer: b, c, d**

**These are the Joy of Computing using Python Assignment 6 Answers**

**Q4. What will be the output of the following program?**

Calculating sum of first n terms.

Calculating product of first n terms.

Calculating power of first n terms.

Calculating sum of last n terms.

**Answer: Calculating product of first n terms.**

**Q5. In Caesar cipher,the mediator needs to make maximum of how many trails to break the code?**

1

26

no trail needed

10

**Answer: 26**

**Q6. What is the output of the following program?**

3628800

Runs into an infinite loop

55

Syntax error

**Answer: Runs into an infinite loop**

**These are the Joy of Computing using Python Assignment 6 Answers**