Skip to content

Instantly share code, notes, and snippets.

@jasongorman
Created October 3, 2019 06:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jasongorman/5ee9f3b0a43dbb493dc3b3db1a6b396d to your computer and use it in GitHub Desktop.
Save jasongorman/5ee9f3b0a43dbb493dc3b3db1a6b396d to your computer and use it in GitHub Desktop.
import sys
def sqrt(number):
if number < 0:
raise Exception('Input to sqrt must be a positive number')
if number == 0:
return 0;
g = number/2.0;
g2 = g + 1;
while g != g2:
n = number/ g;
g2 = g;
g = (g + n)/2;
return g;
def factorial(number):
if not isinstance(number, int) or number < 0:
raise Exception("The input must be a positive integer")
if number == 0:
return 0
f = 1
for i in range(1, number+1):
f = f * i
return f
def floor(number):
return number - (number % 1)
def ceiling(number):
remainder = number % 1
if remainder == 0:
return number
return number - remainder + 1
def main():
func = sys.argv[1]
number = float(sys.argv[2])
if func == 'sqrt':
print('The square root of ', number, ' = ', sqrt(number))
if func == 'factorial':
print(int(number), ' factorial = ', factorial(int(number)))
if func == 'ceiling':
print('The ceiling of ', number, ' = ', ceiling(number))
if func == 'floor':
print('The floor of ', number, ' = ', floor(number))
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment