Please insert code line in the "..." above the "Main Code Section" which is at the bottom.  class PriceChecker(): # Constructor def __init__(self): self.levelsList = [] # Properties # A property is defined like a method, but you use it in your # code like a variable (no parentheses need to followed it when used in your code) # Refer: https://www.youtube.com/watch?v=jCzT9XFZ5bw # Refer BP411 slides: Week 2 - Chapter 10 - Slides about Encapsulation and properties @property def levelsList(self): return self.__levelsList @levelsList.setter def levelsList(self, newValue): self.__levelsList = newValue # Class Methods # ============= # Method: Sort and Display the levelsList def displayList(self): print(chr(27) + "[2J") # Clear the screen print("Price Levels In The List") print("========================") # Sort the list in reverse order self.levelsList.sort(reverse=True) # Print the items in the list (Based on the above sort, numbers should appear from large to small.) for item in self.levelsList: print(item, end=(" ")) # Display the menu and get user input about what methods to execute next def displayMenu(self): min = 0 max = 3 errorMsg = "Please enter a valid option between " + str(min) + " and " + str(max) print("MENU OPTIONS") print("============") print("1. Add a price level") print("2. Remove a price level") print("3. Remove all price levels") print("0. Exit the program") print(" ") # Get user input. Keep on requesting input until the user enters a valid number between min and max selection = 99 while selection < min or selection > max: try: selection = int(input("Please enter one of the options: ")) except: print(errorMsg) # user did not enter a number continue # skip the following if statement if (selection < min or selection > max): print(errorMsg) # user entered a number outside the required range return selection # When this return is finally reached, selection will have a value between (and including) min and max # Method: Append a new price level to the levelsList def addLevel(self): try: # Let the user enter a new float value and append it to the list new_level = float(input("\nEnter new level: ")) self.levelsList.append(new_level) except: # Print and error message if the user entered invalid input print("Invalid value!") # Method: Remove an existing price level from the levelsList def removeLevel(self): try: # Let the user enter a new float value. If found in the list, remove it from the list new_level = float(input("\nEnter new level: ")) if new_level in self.levelsList: self.levelsList.remove(new_level) else: print("Level does not exits in leveList") except: # Print and error message if the user entered invalid input print("Invalid value!") # Method: Set levelsList to an empty list def removeAllLevels(self): # Set levelsList to an empty list self.levelsList = [] #Method : Load levelsList using the data in levelsFile def readLevelsFromFile(self): try: # Set levelsList to an empty list self.levelsList = [] # Open the file ... # Use a loop to read through the file line by line ... # If the last two characters in the line is "\n", remove them ... ... # Append the line to levelsList ... # Close the file ... except: return # Method: Write levelsList to levelsFile (override the existing file) def writeLevelsToFile(self): # Open the file in a way that will override the existing file (if it already exists) ... # Use a loop to iterate over le2veList item by item ... # Convert everything in the item to and then add \n to it - before writing to the file ... # Close the file ... # ************************************************************************************************* # Main Code Section # ************************************************************************************************* # Create an object based on the PriceChecker class checkerObj = PriceChecker() #Load levelsList from the records in levelsFile checkerObj.readLevelsFromFile() # Display the levelsList and Menu; and then get user input for what actions to take userInput = 99 while userInput != 0: checkerObj.displayList() userInput = checkerObj.displayMenu() if (userInput == 1): checkerObj.addLevel() checkerObj,writeLevelsToFile() #Write levelsList to levelsFile elif (userInput == 2): checkerObj.removeLevel() checkerObj.writeLevelsToFile() #Write levelsList to levelsFile elif (userInput == 3): checkerObj.removeAllLevels() checkerObj.writeLevelsToFile() #Write levelsList to levelsFile

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...
icon
Related questions
Question

Please insert code line in the "..." above the "Main Code Section" which is at the bottom. 

class PriceChecker():
# Constructor
def __init__(self):
self.levelsList = []

# Properties
# A property is defined like a method, but you use it in your
# code like a variable (no parentheses need to followed it when used in your code)
# Refer: https://www.youtube.com/watch?v=jCzT9XFZ5bw
# Refer BP411 slides: Week 2 - Chapter 10 - Slides about Encapsulation and properties
@property
def levelsList(self):
return self.__levelsList

@levelsList.setter
def levelsList(self, newValue):
self.__levelsList = newValue

# Class Methods

# =============

# Method: Sort and Display the levelsList
def displayList(self):
print(chr(27) + "[2J") # Clear the screen
print("Price Levels In The List")
print("========================")
# Sort the list in reverse order
self.levelsList.sort(reverse=True)
# Print the items in the list (Based on the above sort, numbers should appear from large to small.)
for item in self.levelsList:
print(item, end=(" "))

# Display the menu and get user input about what methods to execute next
def displayMenu(self):
min = 0
max = 3
errorMsg = "Please enter a valid option between " + str(min) + " and " + str(max)

print("MENU OPTIONS")
print("============")
print("1. Add a price level")
print("2. Remove a price level")
print("3. Remove all price levels")
print("0. Exit the program")
print(" ")

# Get user input. Keep on requesting input until the user enters a valid number between min and max
selection = 99
while selection < min or selection > max:
try:
selection = int(input("Please enter one of the options: "))
except:
print(errorMsg) # user did not enter a number
continue # skip the following if statement
if (selection < min or selection > max):
print(errorMsg) # user entered a number outside the required range
return selection # When this return is finally reached, selection will have a value between (and including) min and max

# Method: Append a new price level to the levelsList
def addLevel(self):
try:
# Let the user enter a new float value and append it to the list
new_level = float(input("\nEnter new level: "))
self.levelsList.append(new_level)
except:
# Print and error message if the user entered invalid input
print("Invalid value!")

# Method: Remove an existing price level from the levelsList
def removeLevel(self):
try:
# Let the user enter a new float value. If found in the list, remove it from the list
new_level = float(input("\nEnter new level: "))
if new_level in self.levelsList:
self.levelsList.remove(new_level)
else:
print("Level does not exits in leveList")
except:
# Print and error message if the user entered invalid input
print("Invalid value!")

# Method: Set levelsList to an empty list
def removeAllLevels(self):
# Set levelsList to an empty list
self.levelsList = []

#Method : Load levelsList using the data in levelsFile
def readLevelsFromFile(self):
try:
# Set levelsList to an empty list
self.levelsList = []
# Open the file
...
# Use a loop to read through the file line by line
...
# If the last two characters in the line is "\n", remove them
...
...
# Append the line to levelsList
...
# Close the file
...
except:
return

# Method: Write levelsList to levelsFile (override the existing file)
def writeLevelsToFile(self):
# Open the file in a way that will override the existing file (if it already exists)
...
# Use a loop to iterate over le2veList item by item
...
# Convert everything in the item to and then add \n to it - before writing to the file
...


# Close the file
...





# *************************************************************************************************
# Main Code Section
# *************************************************************************************************

# Create an object based on the PriceChecker class
checkerObj = PriceChecker()

#Load levelsList from the records in levelsFile
checkerObj.readLevelsFromFile()

# Display the levelsList and Menu; and then get user input for what actions to take
userInput = 99
while userInput != 0:
checkerObj.displayList()
userInput = checkerObj.displayMenu()
if (userInput == 1):
checkerObj.addLevel()
checkerObj,writeLevelsToFile() #Write levelsList to levelsFile
elif (userInput == 2):
checkerObj.removeLevel()
checkerObj.writeLevelsToFile() #Write levelsList to levelsFile
elif (userInput == 3):
checkerObj.removeAllLevels()
checkerObj.writeLevelsToFile() #Write levelsList to levelsFile

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 5 steps with 3 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
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 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)
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
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY