Advertisement
Guest User

PC

a guest
Jan 18th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.72 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Fri Jan 18 18:55:29 2019
  4.  
  5. @author: temp110
  6. """
  7.  
  8. class PC:
  9.     cpu = None
  10.     rams = []
  11.     drives = []
  12.    
  13.     def setCPU(self, cpu):
  14.         self.cpu = cpu
  15.    
  16.     def addRAM(self, ram):
  17.         self.rams.append(ram)
  18.    
  19.     def addDRIVE(self, drive):
  20.         self.drives.append(drive)
  21.    
  22.     def __str__(self):
  23.         res = 'PC:\n'
  24.         if (self.cpu != None):
  25.             res += self.cpu.__str__()
  26.         for elem1 in self.rams:
  27.             res += elem1.__str__()
  28.         for elem2 in self.drives:
  29.             res += elem2.__str__()
  30.         return res
  31.    
  32.     def price(self):
  33.         res = 0
  34.         if (self.cpu != None):
  35.             res += self.cpu.price
  36.         for elem1 in self.rams:
  37.             res += elem1.price
  38.         for elem2 in self.drives:
  39.             res += elem2.price
  40.         return res
  41.        
  42.        
  43.        
  44. class CPU:
  45.    
  46.     name = ''
  47.     freq = 0
  48.     price = 0
  49.    
  50.     def __init__(self, name, freq, price):
  51.         self.freq = freq
  52.         self.name = name
  53.         self.price = price
  54.    
  55.     def __str__(self):
  56.         res = 'CPU:{} {}MHz {}$\n' .format(self.name, self.freq, self.price)
  57.         return res
  58.    
  59. class RAM:
  60.    
  61.     name = ''
  62.     ramsize = 0
  63.     price = 0
  64.    
  65.     def __init__(self, name, ramsize, price):
  66.         self.ramsize = ramsize
  67.         self.name = name
  68.         self.price = price
  69.    
  70.     def __str__(self):
  71.         res = 'RAM:{} {}MHz {}$\n' .format(self.name, self.ramsize, self.price)
  72.         return res  
  73.    
  74.    
  75.    
  76. class DRIVE:
  77.    
  78.     name = ''
  79.     freq = 0
  80.     typedrive = ''
  81.     price = 0
  82.     memorysize = 0
  83.    
  84.    
  85.     def __init__(self,  typedrive,name,  memorysize, freq, price):
  86.         self.typedrive = typedrive
  87.         self.name = name
  88.         self.price = price
  89.         self.memorysize = memorysize
  90.         self.freq = freq
  91.        
  92.     def __str__(self):
  93.        
  94.         if (self.typedrive == 'SSD'):
  95.             res = 'SSD:{} {} MB {} MB/S {}$\n' .format( self.name, self.memorysize, self.freq, self.price)
  96.         else:    
  97.             res = '{}:{} {} MB  {} MHz {}$\n' .format(self.typedrive, self.name, self.memorysize, self.freq, self.price)
  98.         return res        
  99.    
  100.    
  101.    
  102.    
  103.    
  104. drive1 = DRIVE('HDD', 'WD Blue', 1000, 5400, 45)  
  105. drive2 = DRIVE('SSD', 'Kingston', 120, 450, 45)    
  106.    
  107.    
  108.    
  109.    
  110.    
  111. cpu1 = CPU('i7 8700k', 3500 , 189)
  112. cpu2 = CPU('i5 8600k', 3400, 129)
  113.  
  114. mem1 = RAM('Kingston', 8, 42)
  115. mem2 = RAM('Kingston', 8, 40)
  116.  
  117.  
  118. mypc = PC()
  119. mypc.setCPU (cpu1)
  120. mypc.addRAM (mem1)
  121. mypc.addRAM (mem2)
  122. mypc.addDRIVE(drive1)
  123. mypc.addDRIVE(drive2)
  124.  
  125. print(mypc.price(),'$')
  126. #print(cpu2)
  127. print(mypc)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement