Skip to content

Instantly share code, notes, and snippets.

@ExReanimator
Created December 7, 2017 08:33
Show Gist options
  • Save ExReanimator/861af2920b17de304c7bccef84dffb6b to your computer and use it in GitHub Desktop.
Save ExReanimator/861af2920b17de304c7bccef84dffb6b to your computer and use it in GitHub Desktop.
def displayMenu():
print('\n\n Main menu of calculator:')
print('1) add to numbers')
print('2) substract to numbers')
print('3) multiply to numbers')
print('4) divide to numbers')
print('5) potentize to numbers')
print('6) exit program')
print('7) factorial')
print('8) binomial coefficient')
def getNumbers():
action = int(input('Choose your option (1-8): '))
number1 = float(int(input('Type the first number: ')))
if action == 7:
number2 = 0
else:
number2 = float(int(input('Type the second number: ')))
return action, number1, number2
def add(number1,number2):
return number1+number2
def sub(number1,number2):
return number1-number2
def mult(number1,number2):
return number1*number2
def div(number1,number2):
return number1/number2
def power(number1,number2):
return number1**number2
def factorial(n):
f = 1
i = 0
while i < n:
i += 1
f = f * i
return f
def binomial(x, y):
if y == x:
return(1)
elif y == 1:
return(x)
elif y > x:
return(0)
else:
a = factorial(x)
b = factorial(y)
c = factorial(x-y)
div = a // (b * c)
return div
def displayResult(action, number1, number2):
result = 0
if action == 1:
result = add(number1, number2)
if action == 2:
result = sub(number1, number2)
if action == 3:
result = mult(number1, number2)
if action == 4:
result = div(number1, number2)
if action == 5:
result = power(number1, number2)
if action == 6:
exit(0)
if action == 7:
result = factorial(number1)
if action == 8:
result = binomial(number1, number2)
print(round(result, 1))
while True:
displayMenu()
action, number1, number2 = getNumbers()
displayResult(action, number1, number2)
answer = input('Do another calculation ("yes" or "y"; other to quit program)? ')
if (answer.lower() != 'yes' and answer.lower() != 'y'):
exit(0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment