Dear Python Users, I'm having real difficulty understanding why the following is not working and hoped I've either missed something obvious of I'm doing something wrong!
class A: def break_down(self, value, base, broken_list=[]): power = len(broken_list) digit = int((value % (base ** (power + 1))) / (base ** power)) value -= digit * (base**power) broken_list.append(digit) if value != 0: return self.break_down(value, base, broken_list=broken_list) else: return broken_list[:] if __name__ == '__main__': a = A() d_list_1 = a.break_down(34567, 256) print d_list_1 a2 = A() d_list_2 = a2.break_down(34567, 256) print d_list_2 When the above runs it fails with the error "RuntimeError: maximum recursion depth exceeded while calling a Python object". The following also does not work: if __name__ == '__main__': a = A() digit_list_1 = a.break_down(34567, 256) print digit_list_1 del digit_list_1, usc a2 = A() digit_list_2 = a2.break_down(34567, 256) print digit_list_2 but the following two do work: if __name__ == '__main__': a = A() digit_list_1 = a.break_down(34567, 256) print digit_list_1 #a2 = A() #digit_list_2 = a2.break_down(34567, 256) #print digit_list_2 if __name__ == '__main__': #a = A() #digit_list_1 = a.break_down(34567, 256) #print digit_list_1 a2 = A() digit_list_2 = a2.break_down(34567, 256) print digit_list_2 I'm a little stumped as I don't think I'm using any global or class variables? Any help would be much appreciated. Yours Faithfully, Wesley Brooks _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor