Tom Lin wrote: > But one precondition is not to use int(string, base). How would you > implement the conversion?
It's not hard. You have two choices: each character of the string represents a bit, and should be either a "0" or a "1" (anything else is an error). In which case its numeric value is either 0 or 1. if bit == '0': value = 0 elif bit == '1': value = 1 else: raise ValueError("not a binary IP address") If you are allowed to assume that the characters will only by 0 or 1, and that there will never be anything else, you can do something even smarter and faster. Here's a clue: >>> total = 0 >>> s = "abaa" >>> for c in s: ... total += (c == "a") ... >>> total 3 The boolean flags True and False are actually disguised numbers with values 1 and 0. -- Steven _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor