Nächsten E96-Widerstandswert in Python finden
Problem
Du möchtest den E24/E48/E96-Widerstandswert finden, der einem gegebenen genauen Wert am nächsten liegt, programmatisch mit Python.
Lösung
Obwohl es für diese Aufgabe Online-Tools gibt, ist es oft nützlich, skriptbare Funktionen in eigene Software integrieren zu können.
Ich habe UliEngineering geschrieben, eine reine Python3-Bibliothek für Elektronik, die unter anderem auch die Widerstandsauswahl enthält.
Installiere zunächst UliEngineering.
Dann kannst du die Funktionen aus Resistor.py verwenden, um den nächsten Wert zu berechnen.
Beispiel: Wenn wir den nächsten Wert zu 1269.5 Ω auf der Python3-interaktiven Shell finden wollen:
>>> from UliEngineering.Electronics.Resistors import *
>>> nearest_resistor(1269.5, sequence=e96)
1270.0Um den Wert als menschenlesbaren String auszugeben, kannst du das EngineerIO-Paket verwenden:
>>> from UliEngineering.EngineerIO
>>> from UliEngineering.Electronics.Resistors import *
>>> auto_format(nearest_resistor, 1269.5, sequence=e96)
'1.27 kΩ'Beachte, dass auto_format die nearest_resistor-Funktion selbst als erstes Argument benötigt, nicht das Ergebnis des Funktionsaufrufs. Das liegt daran, dass Python3-Typannotationen verwendet werden, um auto_format mitzuteilen, dass nearest_resistor einen Wert mit der Einheit Ω zurückgibt.