インポート再 クラスDecimalToTwentyFiveHex: "" " インタビュー質問:25の10進数16進数 " "" DEF __init__ (セルフ、int_ten): self.stack = [] #1 ストレージ正の整数値変換部 self.flag = なし self.num_integer =なし #格納整数部 self.num_fractional =なし #小数部分を格納 IF でisinstance(int_ten、INT): self.flag = 1。 self.num_integer = int_ten ELIF でisinstance(int_ten、フロート): self.flag = 2 self.num_integer = INT(STR(int_ten).split(' ' )[0]) self.num_fractional = INT(STR(int_ten).split(' ')[1。]) 他: self.flag = 3。 印刷(" !正しい番号を入力してください" ) を返すDEF 変換(自己): IF self.flag == 1 : self.main_conversion(self.num_integer) self.stack.reverse()のelif self.flag == 2 : self.main_conversion(self.num_integer) self.stack.reverse() self.small_conversion(self.num_fractional) のelif self.flag == 3 : パス・ リターンself.stack デフ __call__(自己、* argsを、** kwargsから): リターンself.conversion() デフmain_conversion(自己、NUM): "" " 除25余お取 反转列表 :PARAM NUM: :リターン :""" main_int = NUM // 25 yu_int = NUM%25 self.stack.append( yu_int) の場合main_int> = 25 : self.main_conversion(main_int) 他: self.stack.append(main_int) デフsmall_conversion(自己、NUM): "" " 乘25取整 :PARAM NUM: :リターン :""" self.stack。追記(' ' ) main_int = STR(NUM * 25).split(' ' ) self.stack.append(main_int [0])ならないでisinstance(NUM * 25 、INT): self.small_conversion(INT(main_int [ 1 ]))であれば__name__ == " __main__ " : #インスタンス化= DecimalToTwentyFiveHex(665.358)#11f.8niiiiiiie num_instantiate = DecimalToTwentyFiveHex(665358.22) #1hee8.5ccccc #num_instantiate = DecimalToTwentyFiveHex(665358)#1hee8.5cccccc #num_instantiate = DecimalToTwentyFiveHex( '665358')#1hee8。 5ccccccの 結果= num_instantiate() プリント(結果) パス