Advertisement
LudwigSavant

Factorial with Python

Oct 24th, 2016
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.40 KB | None | 0 0
  1. import sys
  2. exit = False
  3.  
  4.  
  5. while exit == False:
  6.     print("\n")
  7.     n = input("Value: ")
  8.     splitted = n.split()
  9.     final_step = []
  10.     for index, digit in enumerate(splitted):
  11.         global p
  12.         #p = 1
  13.         bit = digit
  14.         #print("\n------", digit,"-------\n")
  15.         #print(bit)
  16.         for i, figure in enumerate(bit):
  17.             #print(bit[0])
  18.             if figure == "!":
  19.                 #print(">", figure)
  20.                 #pass
  21.                 o = digit.replace("!", "")
  22.                 #o = str(o).replace("!", "")
  23.                 o = int(o)
  24.                 #print(o)
  25.                 #p = 1
  26.                 #print(o)
  27.                 p =  o
  28.                 while o > 1:
  29.                     o -= 1
  30.                     #print(p)
  31.                     #print(o)
  32.                     p = p * o
  33.                     #o -= 1
  34.                     #print(o)
  35.                 splitted[index] = p
  36.             else:
  37.                 o = splitted[index]
  38.                 p =  o
  39.                 splitted[index] = p
  40.             bit_replacer = bit.replace("!", "")
  41.     #splitted = str(splitted)
  42.     #print(splitted)
  43.     joined = "".join(map(str, splitted))
  44.     #print(joined)
  45.     for char in joined:
  46.         if char.isdigit() == True or char == "+" or char == "-" or char == "*" or char == "/" or char == "%" or char == "(" or char == ")" or char == "[" or char == "]" or char == "{" or char == "}":
  47.         #this is just me trying to make sure the code being used in the eval isn't gonna cause any problems
  48.             pass
  49.         else:
  50.             print("\nSomething went wrong")
  51.             sys.exit()
  52.  
  53.     print("", end = "\n")
  54.     try:
  55.         print(n, "=", eval(joined))
  56.     except:
  57.         print("Something went wrong")
  58.         sys.exit()
  59.     #print("\n", splitted)
  60.     #print("", end = "\n")
  61.  
  62.     sys.exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement