Python Forum
Want to print each iteration of factorial program
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Want to print each iteration of factorial program
#6
I observe following problematic areas:
- base case is not printed out (one can't understand if whole 'process' is not printed out)
- this function is not defensive against negative values (RecursionError)

For better understanding one can write (requires 3.6 <= Python due to f-strings):

def _factorial_sample_(n): 
    if n < 0: 
        raise ValueError('No factorials for negative numbers') 
    if n == 0 or n == 1: 
        print(f'n is {n}, carrying over {1}, this is base case') 
        return 1 
    else: 
        result = n * _factorial_sample_(n-1) 
        print(f'n is {n}, carrying over {result}') 
        return result
With different arguments one will get:

>>> _factorial_sample_(5)                                                                                     
n is 1, carrying over 1, this is base case
n is 2, carrying over 2
n is 3, carrying over 6
n is 4, carrying over 24
n is 5, carrying over 120
120
>>> _factorial_sample_(0)
n is 0, carrying over 1, this is base case
1
>>> _factorial_sample_(1)                                                                                     
n is 1, carrying over 1, this is base case
1
>>> _factorial_sample_(-5)
/.../
ValueError: No factorials for negative numbers
To your original problem: you probably should use memoization
I'm not 'in'-sane. Indeed, I am so far 'out' of sane that you appear a tiny blip on the distant coast of sanity. Bucky Katt, Get Fuzzy

Da Bishop: There's a dead bishop on the landing. I don't know who keeps bringing them in here. ....but society is to blame.
Reply


Messages In This Thread
RE: Want to print each iteration of factorial program - by perfringo - Jan-08-2020, 06:48 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  UnicodeEncodeError caused by print when program runs from Popen SheeppOSU 5 3,220 Jan-13-2022, 08:11 AM
Last Post: SheeppOSU
  Comparing recursion and loops using two scripts (basic factorial) Drone4four 3 2,398 Oct-11-2020, 06:48 PM
Last Post: deanhystad
  Python factorial code timebrahimy 4 89,578 Sep-27-2020, 12:23 AM
Last Post: timebrahimy
  factorial, repeating Aldiyar 4 2,988 Sep-01-2020, 05:22 PM
Last Post: DPaul
  factorial using recursive function spalisetty06 12 4,427 Aug-25-2020, 03:16 PM
Last Post: spalisetty06
  minor mistake in code for factorial spalisetty06 2 2,046 Aug-22-2020, 05:00 PM
Last Post: spalisetty06
  Help with getting sub-program to print text djwilson0495 2 1,997 Aug-16-2020, 05:03 PM
Last Post: deanhystad
  Factorial Code is not working when the given number is very long integer Raj_Kumar 2 2,460 Mar-31-2020, 06:40 PM
Last Post: deanhystad
  Factorial sketch(python 3) KingArthur526 1 2,058 Sep-25-2019, 01:51 PM
Last Post: ichabod801
  Factorial leodavinci1990 8 4,704 Jul-19-2019, 10:59 PM
Last Post: leodavinci1990

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020