Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
957
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1. '''
  2. Royal Orchid is a florist. They want to be alerted when stock of a flower goes below a particular level.
  3. The flowers are identified using name, price per kg and stock available (in kgs).
  4. Write a Python program to implement the above requirement.
  5.  
  6. Attributes
  7. (private)
  8. flower_name
  9. price_per_kg
  10. stock_available
  11.  
  12. Methods
  13. (public) __init__() Create and initialize all instance variables to None
  14. validate_flower() Return true, if flower name is valid. Else, return false
  15. (Refer table for valid flower names)
  16. validate_stock(required_quantity) Accept the quantity required. Return true, if stock is available.
  17. Else return false.
  18. sell_flower(required_quantity)) Accept the quantity required.
  19. Validate flower name and stock.
  20. If both are valid, update stock available based on the quantity required
  21. check_level() Check if available stock is below the order level
  22. If so, return true. Else, return false
  23. (Refer table for order level of each flower)
  24. setter methods Include setter methods for all instance variables to set its values
  25. getter methods Include getter methods for all instance variables to get its values
  26. Note: Perform case insensitive string comparison
  27. Represent few flowers, initialize instance variables using setter methods, invoke appropriate methods and test your program.
  28. '''
  29.  
  30. #OOPR-Assgn-11
  31. #Start writing your code here
  32. class Flower:
  33. # flowers=
  34. def __init__(self):
  35. self.__flower_name=None
  36. self.__price_per_kg=None
  37. self.__stock_available=None
  38.  
  39. def set_flower_name(self,flower_name):
  40. self.__flower_name=flower_name.lower()
  41.  
  42. def set_price_per_kg(self,price_per_kg):
  43. self.__price_per_kg=price_per_kg
  44.  
  45. def set_stock_available(self,stock_available):
  46. self.__stock_available=stock_available
  47.  
  48. def get_flower_name(self):
  49. return self.__flower_name
  50.  
  51. def get_price_per_kg(self):
  52. return self.__price_per_kg
  53.  
  54. def get_stock_available(self):
  55. return self.__stock_available
  56.  
  57. def validate_flower(self):
  58. if self.__flower_name in ["orchid","rose","jasmine"]:
  59. return True
  60. return False
  61.  
  62. def validate_stock(self,required_quantity):
  63. if required_quantity<=self.__stock_available:
  64. return True
  65. return False
  66.  
  67. def sell_flower(self,required_quantity):
  68. if self.validate_flower() and self.validate_stock(required_quantity):
  69. self.__stock_available-=required_quantity
  70.  
  71. def check_level(self):
  72. if (self.__flower_name=="orchid" and self.__stock_available<15) or (self.__flower_name=="rose" and self.__stock_available<25) or (self.__flower_name=="jasmine" and self.__stock_available<40):
  73. return True
  74. return False
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement