input: Write a function to calculate the factorial of a given number using an iterative approach. If the given number is 0 or negative, return 1 as the factorial of 0 is 1 and factorial of negative numbers is not defined.
  def factorial(n):
   fact = 1
   for i in range(2,n+1):
    fact = fact * i
   return fact
  assert factorial(7)==5040 
  assert factorial(0)==1
  assert factorial(-3)==1
output: def factorial(n):
      if n <= 0:
          return 1
      fact = 1
      for i in range(2, n + 1):
          fact *= i
      return fact