瓷片电容在订货时,在型号中需要用三位科学计数法来表示容值。在电容型号比较多时,手动转换比较头疼,因此编写了一段小脚本来完成这个工作。
例如容值
1uF 10uF 0.22uF 4.7uF 100uF 10uF 22uF 47uF 10uF 100uF 22uF 47uF 1pF 3.3pF 11pF
会转换为
105 106 224 475 107 106 226 476 106 107 226 476 1R0 3R3 110
最后,贴上代码:
codes = ''' 1uF 10uF 0.22uF 4.7uF 100uF 10uF 22uF 47uF 10uF 100uF 22uF 47uF 1pF 3.3pF 11pF ''' def cap_namer(value_str): value_str = value_str.lower() if 'u' in value_str: base = 1000000 elif 'n' in value_str: base = 1000 elif 'p' in value_str: base = 1 else: raise('erro value') value_flt = float(value_str[:-2]) inner_flt = value_flt * base if inner_flt < 10: code = str(inner_flt).replace('.','R') else: code = str(inner_flt)[:2] + str(len(str(inner_flt)) - 4) return code if __name__ == '__main__': for code in codes.split(): print(cap_namer(code))