我的要求是收集设备对象(具有容量、制造商、带宽、成本等特性)。我需要找到最大容量的设备。但由于可能有多个设备具有相同的能力,从同一个或不同的制造商,我不能使用的关键能力。你知道吗
我想把容量和型号的元组作为关键,但是我根据它们的容量而不是型号来选择设备
class device:
def __init__(self):
self.manufacturer = ""
self.purchasecost = ""
self.capacity = "" # TB
self.power = "" # KWH
self.bandwidth = "" # MBPS
self.fail_rate = ""
self.powered_on = "" # %
self.lIOPS = ""
self.device_type = ""
self.moveincost = "" # % of purchasecost
self.moveoutcost = "" # % of purchasecost
self.datacentercost = ""
self.servicelife = ""
self.model = ""
pass
def setparam(self, device_param):
self.manufacturer = device_param["manufacturer"]
self.purchasecost = device_param["purchasecost"]
self.capacity = device_param["capacity"] # TB
self.power = device_param["power"] # KWH
self.bandwidth = device_param["bandwidth"] # MBPS
self.fail_rate = device_param["fail_rate"]
self.powered_on = device_param["powered_on"] # %
self.lIOPS = device_param["IOPS"]
self.device_type = device_param["device_type"]
self.moveincost = device_param["moveincost"] # % of purchasecost
self.moveoutcost = device_param["moveoutcost"] # % of purchasecost
self.datacentercost = device_param["datacentercost"]
self.servicelife = device_param["servicelife"]
self.model = device_param["model"]
在另一个类中,我创建对象并使用它们。你知道吗
def available_devices(self):
hdd1 = self.createdisk1()
hdd2 = self.createdisk2()
ssd1 = self.createSSD1()
self.availabledevices[hdd1.model]=hdd1
print ( "Added HDD1 "+str(self.availabledevices[hdd1.model]))
self.availabledevices[hdd2.model]=hdd2
print ( "Added HDD2 "+str(self.availabledevices[hdd2.model]))
self.availabledevices[ssd1.model]=ssd1
def get_highest_capacity_device(self):
sorted_capacities = sorted(self.availabledevices.iterkeys())
highest_capacity = sorted_capacities[len(sorted_capacities) -1]
highest_capacity_device = self.availabledevices[highest_capacity]
return highest_capacity_device
此代码当前使用容量作为密钥,但当有多个具有相同容量的设备时,它显然不起作用。我的问题是我应该用什么作为键 -我可以根据设备的容量来分类 -我可以让所有的设备都有一定的容量
你为什么还要用字典?与简单的列表相比,没有什么好处:
相关问题 更多 >
编程相关推荐