1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
IrinaK [193]
3 years ago
15

The Yuba College Library would like a program to calculate patron fines for overdue books. Fines are determined as follows: Pape

rbacks Regular $.20 / day with a maximum fine of $8.00 Best-Sellers $.50 / day with a maximum fine of $15.00 Magazines $.25 / day with a maximum fine of $5.00 Hardcover Books $.30 / day with a maximum fine of $23.00 The program must prompt the user to enter the following information at the keyboard. Data entry MUST be validated as required. Fines must also be calculated using a function(s). A class object should contain the methods (functions) to determine library fine. Provide a UML and description of disign.Patron’s library card number (a 4-digit number) - ValidatePatron’s namePatron’s addressType of book - ValidateNumber of days over due - ValidateA sample interactive session is shown below:Enter the patron’s card number: 2089Enter the patron’s name: Erica RobinsonEnter the patron’s address: 2234 RoadWay Trl.Enter the book’s title: The Trail Less Traveled.1. Paperback - Regular2. Paperback - Bestseller3. Magazine4. Hardcover bookEnter number corresponding to type of book (1 – 4): 4Enter the number of days overdue: 11Do you wish to perform another transaction?
Computers and Technology
1 answer:
mestny [16]3 years ago
5 0

Answer:

Explanation:

The following Python code creates all of the necessary functions in order to request and validate all of the inputs from the user. Once everything is entered and validated it calculates the total fee and outputs it to the user. Also calls the entire class at the end using a test variable...

class Customer:

   library_card = 0

   patrons_name = ""

   patrons_address = ""

   type_of_book = ""

   book_title = ""

   days_overdue = 0

   fee = 0.0

   book_list = ['paperback regular', 'paperback best seller', 'magazine', 'hardcover']

   def __init__(self):

       self.library_card = self.get_library_card()

       self.patrons_address = input("Patron's Address: ")

       self.book_title = input("Book Title: ")

       self.type_of_book = self.get_type_of_book()

       self.days_overdue = float(self.get_days_overdue())

       self.calculate_total()

       print("Your total Fee is: " + str(self.fee))

   def get_library_card(self):

       library_card = int(input("Enter 4-digit library card number: "))

       if (type(library_card) == type(0)) and (len(str(library_card)) == 4):

           return library_card

       else:

           print("Invalid Card number:")

           self.get_library_card()

   def get_type_of_book(self):

       type_of_book = input("Type of Book 1-4: ")

       if (int(type_of_book) > 0) and (int(type_of_book) <= 4):

           return int(type_of_book)

       else:

           print("Invalid Type")

           self.get_type_of_book()

   def get_days_overdue(self):

       days_overdue = input("Number of Days Overdue: ")

       if int(days_overdue) >= 0:

           return days_overdue

       else:

           print("Invalid number of days")

           self.get_days_overdue()

   def calculate_total(self):

       if self.type_of_book == 1:

           self.fee = 0.20 * self.days_overdue

           if self.fee > 8:

               self.fee = 8

       elif self.type_of_book == 2:

           self.fee = 0.50 * self.days_overdue

           if self.fee > 15:

               self.fee = 15

       elif self.type_of_book == 3:

           self.fee = 0.25 * self.days_overdue

           if self.fee > 5:

               self.fee = 5

       else:

           self.fee = 0.30 * self.days_overdue

           if self.fee > 23:

               self.fee = 23

test = Customer()

You might be interested in
Implementing an interface means that you are adding to your class any mechanisms defined in an abstract class. Your class essent
rodikova [14]

Answer:

The answer is "True"

Explanation:

The information, that is true or false in the statement is missing, which can be defined as follows:

  • The interface is a part of the Java programming language, which offers you to achieve multiple inheritances. It is also known as a common limit, that exchanges information on two or more separate parts of a computer network.  
  • It also contains the abstract method, and an interface to interface inheritance it uses extends keyword, and in the interface to a class, it uses the implement keyword.
3 0
3 years ago
The ____ command creates a subdirectory under a directory. rd md cd ad
katovenus [111]
Md command, (make directory) creates a directory. It's a subdirectory when you md under a directory.
5 0
4 years ago
How do you measure the capacity of speed and memory of computer system<br>Explain.​
jeka94
Im sorry i just need points
3 0
3 years ago
When pasting an existing chart into a Word document, you can choose to _______ using the Paste Options button.
SCORPION-xisa [38]
When pasting an existing chart into a Word document, you can choose to control how text appears when you paste it using the Paste Options button.  <span>The </span>Paste Options<span> button enables you to decide whether you want to paste the data as you originally copied it, or to change the style so that it fits the style of the document into which you are pasting the data, or to apply specific characteristics to the data, based on the content.</span>
8 0
3 years ago
Read 2 more answers
Suppose we wanted to make change for purchases and wanted to use the least number of coins possible. Here is a greedy algorithm:
love history [14]

Answer:

Explanation:

The following code is a Python function that takes in the amount of change. Then it uses division and the modulo operator to calculate the number of coins that make up the changes, using the greatest coin values first.

import math

def amountOfCoins(change):

   print("Change: " + str(change))

   quarters = math.floor(change / 0.25)

   change = change % 0.25

   dimes = math.floor(change / 0.20)

   change = change % 0.20

   pennies = math.floor(change / 0.01)

   print("Quarters: " + str(quarters) + "\nDimes: " + str(dimes) + "\nPennies: " + str(pennies))

5 0
3 years ago
Other questions:
  • True or false the primary advantage of the worksheet is the ability to solve numerical problems quickly and accurately
    11·1 answer
  • Rebooting the computer is a good troubleshooting technique.<br><br> True<br> False
    6·2 answers
  • Semiconductors are only somewhat conductive electronic components.<br><br> True or False?
    14·1 answer
  • How can a professional association help you reach your career goals?
    5·1 answer
  • Which of the following statements about electronic cover letters is true?
    14·2 answers
  • When determining the amount of RAM necessary for a computer you wish to purchase, what should you consider?
    7·1 answer
  • Using this tool to help you to visualize your slides and develop your content
    13·1 answer
  • Which term collectively describes hard disks, CDs, and flash drives?
    11·2 answers
  • What are the advantages and disadvantages of the various collision resolution strategies for hashes?
    7·2 answers
  • 1. Select two forms of case designed suitable for ATX power supply and
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!