I need help with this lab. It’s one. 13. One lab introduction to cryptography ( classes/ constructors)  This is the current code that must stay within the program and cannot be changed, only amended: class CipherTest: # TODO: Define a constructor with parameters to #initialize instance attributes (shift = 0, direction = 'r', text = "Testing" ) #set the default values of the parameters and also set the #these values as pf the user passed def __init__(self, shift=0, direction='r', text="Testing"): self.shift = shift self.direction = direction self.text = text #Shift to right function def shift_to_right(self): encrypted_Text = "" for i in range(len(self.text)): c = self.text[i] #Encrypt upper case if(c == ' '): encrypted_Text += ' ' elif (c.isupper()): encrypted_Text += chr((ord(c) + self.shift-65) % 26 + 65) #Encrypt lower case else: encrypted_Text += chr((ord(c) + self.shift-97) % 26 + 97) return encrypted_Text #Shift to left function def shift_to_left(self): encrypted_Text = "" for i in range(len(self.text)): c = self.text[i] #Encrypt upper case if(c == ' '): encrypted_Text += ' ' elif (c.isupper()): encrypted_Text += chr((ord(c) - self.shift-65) % 26 + 65) #Encrypt lower case else: encrypted_Text += chr((ord(c) - self.shift-97) % 26 + 97) return encrypted_Text if __name__ == "__main__": # TODO: create input for text, shift value, and direction (use lower( ) to keep l and r lower case #read the input for each variable and store it into the vairables text = input("Enter the text: ") shift = int(input("Enter the shift value: ")) #note, the input was turned to lower case direction = input("Enter the direction (r or l): ").lower() # TODO: create a cipher item and use the constructor with the above input values #create the object of the class and pass all the inputs to its constructor CipherTestObj = CipherTest(shift, direction, text) # TODO: use control structures to call shift_to_right() if direction is right and call shift_to_left if direction # is left. Make sure you print out the return encrypted message here. #variable to store the encrypted text encryptedText = "" #based on the direction entered by the user, call the appropriate functions if CipherTestObj.direction == 'r': encryptedText = CipherTestObj.shift_to_right() elif CipherTestObj.direction == 'l': encryptedText = CipherTestObj.shift_to_left() #if the direction is not valid, print the error message else: print("Invalid direction was found!!") #print the final returned Encrypted Text print("Encrypted text:", encryptedText) This is the copy of the current lab, and the error message on line 51 that I am having a hard time with. Thank you for your help.
I need help with this lab. It’s one. 13. One lab introduction to cryptography ( classes/ constructors)  This is the current code that must stay within the program and cannot be changed, only amended: class CipherTest: # TODO: Define a constructor with parameters to #initialize instance attributes (shift = 0, direction = 'r', text = "Testing" ) #set the default values of the parameters and also set the #these values as pf the user passed def __init__(self, shift=0, direction='r', text="Testing"): self.shift = shift self.direction = direction self.text = text #Shift to right function def shift_to_right(self): encrypted_Text = "" for i in range(len(self.text)): c = self.text[i] #Encrypt upper case if(c == ' '): encrypted_Text += ' ' elif (c.isupper()): encrypted_Text += chr((ord(c) + self.shift-65) % 26 + 65) #Encrypt lower case else: encrypted_Text += chr((ord(c) + self.shift-97) % 26 + 97) return encrypted_Text #Shift to left function def shift_to_left(self): encrypted_Text = "" for i in range(len(self.text)): c = self.text[i] #Encrypt upper case if(c == ' '): encrypted_Text += ' ' elif (c.isupper()): encrypted_Text += chr((ord(c) - self.shift-65) % 26 + 65) #Encrypt lower case else: encrypted_Text += chr((ord(c) - self.shift-97) % 26 + 97) return encrypted_Text if __name__ == "__main__": # TODO: create input for text, shift value, and direction (use lower( ) to keep l and r lower case #read the input for each variable and store it into the vairables text = input("Enter the text: ") shift = int(input("Enter the shift value: ")) #note, the input was turned to lower case direction = input("Enter the direction (r or l): ").lower() # TODO: create a cipher item and use the constructor with the above input values #create the object of the class and pass all the inputs to its constructor CipherTestObj = CipherTest(shift, direction, text) # TODO: use control structures to call shift_to_right() if direction is right and call shift_to_left if direction # is left. Make sure you print out the return encrypted message here. #variable to store the encrypted text encryptedText = "" #based on the direction entered by the user, call the appropriate functions if CipherTestObj.direction == 'r': encryptedText = CipherTestObj.shift_to_right() elif CipherTestObj.direction == 'l': encryptedText = CipherTestObj.shift_to_left() #if the direction is not valid, print the error message else: print("Invalid direction was found!!") #print the final returned Encrypted Text print("Encrypted text:", encryptedText) This is the copy of the current lab, and the error message on line 51 that I am having a hard time with. Thank you for your help.
Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
Related questions
Question
I need help with this lab. It’s one. 13. One lab introduction to cryptography ( classes/ constructors)
 This is the current code that must stay within the program and cannot be changed, only amended:
class CipherTest:
# TODO: Define a constructor with parameters to
#initialize instance attributes (shift = 0, direction = 'r', text = "Testing" )
#set the default values of the parameters and also set the
#these values as pf the user passed
def __init__(self, shift=0, direction='r', text="Testing"):
self.shift = shift
self.direction = direction
self.text = text
#Shift to right function
def shift_to_right(self):
encrypted_Text = ""
for i in range(len(self.text)):
c = self.text[i]
#Encrypt upper case
if(c == ' '):
encrypted_Text += ' '
elif (c.isupper()):
encrypted_Text += chr((ord(c) + self.shift-65) % 26 + 65)
#Encrypt lower case
else:
encrypted_Text += chr((ord(c) + self.shift-97) % 26 + 97)
return encrypted_Text
#Shift to left function
def shift_to_left(self):
encrypted_Text = ""
for i in range(len(self.text)):
c = self.text[i]
#Encrypt upper case
if(c == ' '):
encrypted_Text += ' '
elif (c.isupper()):
encrypted_Text += chr((ord(c) - self.shift-65) % 26 + 65)
#Encrypt lower case
else:
encrypted_Text += chr((ord(c) - self.shift-97) % 26 + 97)
return encrypted_Text
if __name__ == "__main__":
# TODO: create input for text, shift value, and direction (use lower( ) to keep l and r lower case
#read the input for each variable and store it into the vairables
text = input("Enter the text: ")
shift = int(input("Enter the shift value: "))
#note, the input was turned to lower case
direction = input("Enter the direction (r or l): ").lower()
# TODO: create a cipher item and use the constructor with the above input values
#create the object of the class and pass all the inputs to its constructor
CipherTestObj = CipherTest(shift, direction, text)
# TODO: use control structures to call shift_to_right() if direction is right and call shift_to_left if direction
# is left. Make sure you print out the return encrypted message here.
#variable to store the encrypted text
encryptedText = ""
#based on the direction entered by the user, call the appropriate functions
if CipherTestObj.direction == 'r':
encryptedText = CipherTestObj.shift_to_right()
elif CipherTestObj.direction == 'l':
encryptedText = CipherTestObj.shift_to_left()
#if the direction is not valid, print the error message
else:
print("Invalid direction was found!!")
#print the final returned Encrypted Text
print("Encrypted text:", encryptedText)
This is the copy of the current lab, and the error message on line 51 that I am having a hard time with.
Thank you for your help.
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 4 images
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY