NPTEL The Joy Of Computing Using Python Week 6 Assignment

The-Joy-of-Computing-using-Python-Week6-Programming-Assignment-Solutions

NPTEL Course a fun filled whirlwind tour of 30 hrs, covering everything you need to know to fall in love with the most sought after skill of the 21st century. The course brings programming to your desk with anecdotes, analogies and illustrious examples. Turning abstractions to insights and engineering to art, the course focuses primarily to inspire the learner’s mind to think logically and arrive at a solution programmatically. As part of the course, you will be learning how to practice and culture the art of programming with Python as a language. At the end of the course, we introduce some of the current advances in computing to motivate the enthusiastic learner to pursue further directions. The Joy of Computing using python is a fun filled course offered by NPTEL.

The Joy Of Computing Using Python Week 6 Assignment.

INTENDED AUDIENCE :  Any interested audience
PREREQUISITES :  10th standard/high school
INDUSTRY SUPPORT :  Every software company is aware of the potential of a first course in computer science. Especially of a first course in computing, done right.

Course Layout

  • Motivation for Computing
  • Welcome to Programming!!
  • Variables and Expressions : Design your own calculator
  • Loops and Conditionals : Hopscotch once again
  • Lists, Tuples and Conditionals : Lets go on a trip
  • Abstraction Everywhere : Apps in your phone
  • Counting Candies : Crowd to the rescue
  • Birthday Paradox : Find your twin
  • Google Translate : Speak in any Language
  • Currency Converter : Count your foreign trip expenses
  • Monte Hall : 3 doors and a twist
  • Sorting : Arrange the books
  • Searching : Find in seconds
  • Substitution Cipher : What’s the secret !!
  • Sentiment Analysis : Analyse your Facebook data
  • 20 questions game : I can read your mind
  • Permutations : Jumbled Words
  • Spot the similarities : Dobble game
  • Count the words : Hundreds, Thousands or Millions.
  • Rock, Paper and Scissor : Cheating not allowed !!
  • Lie detector : No lies, only TRUTH
  • Calculation of the Area : Don’t measure.
  • Six degrees of separation : Meet your favourites
  • Image Processing : Fun with images
  • Tic tac toe : Let’s play
  • Snakes and Ladders : Down the memory lane.
  • Recursion : Tower of Hanoi
  • Page Rank : How Google Works !!

Programming Assignment 1

Question 1 : Given a list L containing integers, write a program that creates and prints a dictionary ‘d’ containing all the the numbers that occur twice or more in the list as keys and their indexes as values. Both the keys are and their values should be in the same order as given the list.

You have to take the input.

Input
List

Output
Dictionary D

				
					inputList = list(map(int,input().split()))

dict = {}

for i in inputList:
  dict[i] = []

i=0
for j in inputList:
  dict[j].append(i)
  i+=1

res_dict={}

for key,val in dict.items():
  if len(val) >= 2:
    res_dict[key]=val

print(res_dict,end="")
				
			

Programming Assignment 2

Question 2 : Romeo and Juliet love each other. Romeo wants to send a message to Juliet and also don’t want anyone to read it without his permission. So he shifted every small letter in the sentence by -2 position and every capital letter by -3 position. (If the letter is c, after shifting to by -2 position it changes to a, and for D new letter will be A).
But the letter is too long and Romeo does not have enough time to encrypt his whole letter. Write a program to help Romeo which prints the encrypted message. You can assume there are no special characters except spaces and numeric value.

Input
A string S 

Output 
Encrypted string 

				
					S = input()
import string


low = string.ascii_lowercase
cap = string.ascii_uppercase

ans  = ''

for i in S:
    if i in low:
        index = low.index(i)
        # 1-2 = -1+26 = 25
        index = ((index-2)+26)%26
        ans+=low[index]
    elif i in cap:
        index = cap.index(i)
        # 1-2 = -1+26 = 25
        index = ((index-3)+26)%26
        ans+=cap[index]
    else:
        ans+=i
        
print(ans,end="")
				
			

Programming Assignment 3

Question 3 : Take a string S as an input and print ‘palindrome’ if string S is a palindrome or ‘not palindrome’ if string S is not a palindrome.
A palindrome is a word which spells same from forward and backward. Example DAD.

Input 
A string S

Output:
palindrome or not palindrome

				
					inputString = input()

inputString=inputString.lower()

if inputString[::-1]==inputString:
  print('palindrome',end="")

elif inputString[::-1]!=inputString:
  print('not palindrome',end="")