Advertisement
pacho_the_python

Untitled

Dec 19th, 2022
741
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.62 KB | None | 0 0
  1. class Concert:
  2.     def __init__(self, genre: str, audience: int, ticket_price: float, expenses: float, place: str):
  3.         self.genre = genre
  4.         self.audience = audience
  5.         self.ticket_price = ticket_price
  6.         self.expenses = expenses
  7.         self.place = place
  8.  
  9.     @property
  10.     def genre(self):
  11.         return self.__genre
  12.  
  13.     @genre.setter
  14.     def genre(self, value):
  15.         if value not in ["Metal", "Rock", "Jazz"]:
  16.             raise ValueError(f"Our group doesn't play {value}!")
  17.         self.__genre = value
  18.  
  19.     @property
  20.     def audience(self):
  21.         return self.__audience
  22.  
  23.     @audience.setter
  24.     def audience(self, value):
  25.         if value < 1:
  26.             raise ValueError("At least one person should attend the concert!")
  27.         self.__audience = value
  28.  
  29.     @property
  30.     def ticket_price(self):
  31.         return self.__ticket_price
  32.  
  33.     @ticket_price.setter
  34.     def ticket_price(self, value):
  35.         if value < 1:
  36.             raise ValueError(f"Ticket price must be at least {value:.2f}$!")
  37.         self.__ticket_price = value
  38.  
  39.     @property
  40.     def expenses(self):
  41.         return self.__expenses
  42.  
  43.     @expenses.setter
  44.     def expenses(self, value):
  45.         if value < 0:
  46.             raise ValueError("Expenses cannot be a negative number!")
  47.         self.__expenses = value
  48.  
  49.     @property
  50.     def place(self):
  51.         return self.__place
  52.  
  53.     @place.setter
  54.     def place(self, value):
  55.         if len(value) < 2 or value.strip() == "":
  56.             raise ValueError("Place must contain at least 2 chars. It cannot be empty!")
  57.         self.__place = value
  58.        
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement