Without any warranty. >>> def z(r): ... # r: int > 0 ... t = log10(r) ... if t >= 12.0: ... prefix = '' ... prefix2 = '' ... elif t >= 9.0: ... prefix = 'giga' ... prefix2 = 'G' ... r = r / 1.0e9 ... elif t >= 6.0: ... prefix = 'mega' ... prefix2 = 'M' ... r = r / 1.0e6 ... elif t >= 3.0: ... prefix = 'kilo-' # Netherlands std? ... prefix2 = 'k' ... r = r / 1.0e3 ... else: ... prefix = '' ... prefix2 = '' ... ... # correct for this language (Dutch?) ? ... # kept as illustrative example ... if r >= 2: ... suffix = 's' ... else: ... suffix = '' ... ... # '.13g' to "cover the ranges" while "keeping precision" ... num = format(r, '.13g') ... s = 'de weerstand is ' + num + ' ' + prefix + 'ohm' + suffix ... s = s + ' , R = ' + num + ' ' + prefix2 + 'Ω' ... return s ... >>> a = [1, 2, 9, 20, 300, 1000 - 1, 1000, 1000 + 1, 2000, \ ... 1000000 - 1, 1000000, 1000000 + 1, \ ... 1000000000 - 1, 1000000000, 1000000000 + 1, 11123456789] >>> >>> for e in a: ... print(e, '-', z(e)) ... 1 - de weerstand is 1 ohm , R = 1 Ω 2 - de weerstand is 2 ohms , R = 2 Ω 9 - de weerstand is 9 ohms , R = 9 Ω 20 - de weerstand is 20 ohms , R = 20 Ω 300 - de weerstand is 300 ohms , R = 300 Ω 999 - de weerstand is 999 ohms , R = 999 Ω 1000 - de weerstand is 1 kilo-ohm , R = 1 kΩ 1001 - de weerstand is 1.001 kilo-ohm , R = 1.001 kΩ 2000 - de weerstand is 2 kilo-ohms , R = 2 kΩ 999999 - de weerstand is 999.999 kilo-ohms , R = 999.999 kΩ 1000000 - de weerstand is 1 megaohm , R = 1 MΩ 1000001 - de weerstand is 1.000001 megaohm , R = 1.000001 MΩ 999999999 - de weerstand is 999.999999 megaohms , R = 999.999999 MΩ 1000000000 - de weerstand is 1 gigaohm , R = 1 GΩ 1000000001 - de weerstand is 1.000000001 gigaohm , R = 1.000000001 GΩ 11123456789 - de weerstand is 11.123456789 gigaohms , R = 11.123456789 GΩ
jmf -- https://mail.python.org/mailman/listinfo/python-list