ワイヤーのサイズをすばやく見つけるためのプログラムを書いているので、常にチャートを参照する必要はありませんが、小さな問題があります。
次のような辞書があります。
#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'),
]
bisect 関数を使用して、適切なワイヤ サイズを取得することに成功しました。
私の質問は、ワイヤ サイズの値だけにアクセスするにはどうすればよいかということです。たとえば、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)