我正在编写一个程序,以便快速找到导线大小,这样我就不必一直参考图表,但遇到了一个小问题。
我有一本字典,看起来像这样:
#From Table 310.16 - Article 310 -
#75 degree rated Copper RHW,THHW,THWN,XHHW,USE,ZW - 2008 NEC
wireAmpacityTable = [
(25, '#12'),
(35, '#10'),
(50, '#8'),
(65, '#6'),
(85, '#4'),
(100, '#3'),
(115, '#2'),
(130, '#1'),
(150, '1/0'),
(175, '2/0'),
(200, '3/0'),
(230, '4/0'),
(255, '250MCM'),
(285, '300MCM'),
(310, '350MCM'),
(335, '400MCM'),
(380, '500MCM'),
(420, '600MCM'),
]我能够成功地使用二等分函数来获得正确的导线尺寸。
我的问题是如何仅访问导线尺寸值。例如,如果我输入15安培,我希望它只返回导线尺寸- #12。目前它返回(25, '#12')
下面是我用来查找这些值的代码
import bisect
# sort list
wireAmpacityTable.sort()
def wireLookup(amps):
pos1 = bisect.bisect_right(wireAmpacityTable, (amps,))
print "ampacity"
print wireAmpacityTable[pos1]
amp = int(raw_input("How many Amps:"))
print wireLookup(amp)发布于 2013-07-17 05:05:29
目前,wireLookup不返回任何内容。首先,您必须返回一些内容(而不仅仅是打印它),其次,您只需要元组的第二个条目。
return wireAmpacityTable[pos1][1]顺便说一句,您可能希望根据PEP-8来命名函数和变量。
发布于 2013-07-17 05:09:07
只需索引到元组中,导线的规格在位置1,因此
print wireAmpicity[posl][1]将只打印出线规。
https://stackoverflow.com/questions/17686822
复制相似问题