title: Simplifying code - perform mathematical operations based on operator
body: <p>Here is the code for a calculator in Python:</p>
  
  <pre><code>import time
  #Returns the sum of num1 and num2
  def add(num1, num2):
      return num1 + num2
  
  #Returns the difference of num1 and num2
  def subtract(num1, num2):
      return num1 - num2
  
  #Returns the quotient of num1 and num2
  def divide(num1, num2):
      return num1 / num2
  
  #Returns the product of num1 and num2
  def multiply(num1, num2):
      return num1 * num2
  
  #Returns the exponentiation of num1 and num2
  def power(num1, num2):
      return num1 ** num2
  
  import time
  
  def main ():
      operation = input("What do you want to do? (+, -, *, /, ^): ")
      if(operation != "+" and operation != "-" and operation != "*" and operation != "/" and operation != "^"):
          #invalid operation
          print("You must enter a valid operation")
          time.sleep(3)
      else:
          var1 = int(input("Enter num1: ")) #variable one is identified
          var2 = int(input("Enter num2: ")) #variable two is identified
          if(operation == "+"):
              print (add(var1, var2))
          elif(operation == "-"): 
              print (subtract(var1, var2))
          elif(operation == "/"): 
              print (divide(var1, var2))
          elif(operation == "*"):
              print (multiply(var1, var2))
          else:
              print (power(var1, var2))
  main()
  input("Press enter to exit")
  exit()
  </code></pre>
  
  <p>About 30 minutes ago I found my old Python folder and took a look at all my basic scripts from 8+ months ago. I found my calculator mini-script and thought it would be fun to recreate it in as few lines as possible (I'm just now learning lambda). Here's what I have:</p>
  
  <pre><code>main = lambda operation,var1,var2: var1+var2 if operation=='+' else var1-var2 if operation=='-' else var1*var2 if operation=='*' else var1/var2 if operation=='/' else 'None'
  print(main(input('What operation would you like to perform? [+,-,*,/]: '),int(input('Enter num1: ')),int(input('Enter num2: '))))
  input('Press enter to exit')
  </code></pre>
  
  <p>I know this is a personal question based off of my specific situation, but I would appreciate any help making it shorter. Is there a way to make it more Pythonic? Am I using lambda correctly? Is there a way to handle errors in my shortened version? Any help would be appreciated. I'm very new to this. Thanks!</p>