text: # Script Name		: factorial_perm_comp.py
  # Author			: Ebiwari Williams
  # Created			: 20th May 2017
  # Last Modified		: 
  # Version			: 1.0
  
  # Modifications		: 
  
  # Description		: Find Factorial, Permutation and Combination of a Number
  
  
  def factorial(n):	
  	fact = 1
  	while(n >= 1 ): 
  		fact = fact * n 
  		n = n - 1
  
  	return fact
  
  
  def permutation(n,r):
  	return factorial(n)/factorial(n-r)
  
  
  
  def combination(n,r):
  	return permutation(n,r)/factorial(r)
  
  
  def main():
  	print('choose between operator 1,2,3')
  	print('1) Factorial')
  	print('2) Permutation')
  	print('3) Combination')
  
  	operation = input('\n')
  
  	if(operation ==  '1'):
  		print('Factorial Computation\n')
  		while(True):
  			try:
  				n = int(input('\n Enter  Value for n '))
  				print('Factorial of {} = {}'.format(n,factorial(n)))
  				break
  			except(ValueError):
  				print('Invalid Value')
  				continue
  
  	elif(operation == '2'):
  		print('Permutation Computation\n')
  
  		while(True):
  			try:
  				n  = int(input('\n Enter Value for n '))
  				r  = int(input('\n Enter Value for r '))
  				print('Permutation of {}P{} = {}'.format(n,r,permutation(n,r)))
  				break
  			except(ValueError):
  				print('Invalid Value')
  				continue
  
  
  	elif(operation == '3'):
  		print('Combination Computation\n')
  		while(True):
  			try:
  				n  = int(input('\n Enter Value for n '))
  				r  = int(input('\n Enter Value for r '))
  
  				print('Combination of {}C{} = {}'.format(n,r,combination(n,r)))
  				break
  
  			except(ValueError):
  				print('Invalid Value')
  				continue
  
  
  if __name__ == '__main__':
  	main()
  