Noob questions about Python
MRAB
google at mrabarnett.plus.com
Thu Oct 18 19:44:38 EDT 2007
On Oct 18, 7:05 am, Michele Simionato <michele.simion... at gmail.com>
wrote:
> On Oct 17, 5:58 pm, Ixiaus <parnel... at comcast.net> wrote:
>
> > def bin2dec(val):
> > li = list(val)
> > li.reverse()
> > res = [int(li[x])*2**x for x in range(len(li))]
> > print sum(res)
>
> > It basically does the same thing int(string, 2) does.
>
> > Thank you for the responses!
>
> BTW, here is the reverse function dec2bin, so that you can
> bang your head on it for a while ;)
>
It returns '' when number == 0, so you need to test for that case:
> def baseN(number, N=2):
> """
> >>> baseN(9, 2)
> '1001'
> """
> assert 2 <= N <= 10
> assert isinstance(number, int) and number >= 0
if number == 0:
return "0"
> b = []
> while number:
> b.append(str(number % N))
> number /= N
> return ''.join(reversed(b))
>
> Michele Simionato
More information about the Python-list
mailing list