def intentRouter(event, context): intent = event['request']['intent']['name'] logic = Logic() # Custom Intents if intent == 'FormulaIntent': text = 'Let\'s learn maths formula...\n' for i in logic.formula.keys(): # text = text + logic.formula[i] + '<break time="1s">' text = text + logic.formula[i] text = text + '<break time="2s"/>' return sayWithoutCards(text) elif intent == 'SineIntent': value = event['request']['intent']['slots']['value']['value'] value = float(value) text = 'The sine of ' + str(value) + ' is ' + str(logic.sine(value)) return say('Answer', text) elif intent == 'CosineIntent': value = event['request']['intent']['slots']['value']['value'] value = float(value) text = 'The cosine of ' + str(value) + ' is ' + str( logic.cosine(value)) return say('Answer', text) elif intent == 'TangentIntent': value = event['request']['intent']['slots']['value']['value'] value = float(value) text = 'The tangent of ' + str(value) + ' is ' + str( logic.tangent(value)) return say('Answer', text) elif intent == 'CosecIntent': value = event['request']['intent']['slots']['value']['value'] value = float(value) text = 'The cosec of ' + str(value) + ' is ' + str( 1 / logic.sine(value)) return say('Answer', text) elif intent == 'SecantIntent': value = event['request']['intent']['slots']['value']['value'] value = float(value) text = 'The secant of ' + str(value) + ' is ' + str( 1 / logic.cosine(value)) return say('Answer', text) elif intent == 'CotIntent': value = event['request']['intent']['slots']['value']['value'] value = float(value) text = 'The cot of ' + str(value) + ' is ' + str( 1 / logic.tangent(value)) return say('Answer', text) elif intent == 'FactorialIntent': value = event['request']['intent']['slots']['value']['value'] value = int(value) text = 'The factorial of ' + str(value) + ' is ' + str( logic.factorial(value)) return say('Answer', text) elif intent == 'PowerIntent': ''' Here a is the base and b is the exponent''' a = event['request']['intent']['slots']['a']['value'] b = event['request']['intent']['slots']['b']['value'] a = int(a) b = int(b) text = 'The value of ' + str(a) + ' to the power ' + str( b) + ' is ' + str(a**b) return say('Answer', text) elif intent == 'NaturalNumbersIntent': n = event['request']['intent']['slots']['n']['value'] n = int(n) text = 'The Sum of the first ' + str(n) + ' Natural Numbers is ' + str( logic.sumOfNaturalNumbers(n)) return say('Answer', text) elif intent == 'nPrIntent': n = event['request']['intent']['slots']['n']['value'] r = event['request']['intent']['slots']['r']['value'] n = int(n) r = int(r) text = 'The value of ' + str(n) + ' P ' + str(r) + ' is ' + str( logic.factorial(n) // (logic.factorial(n - r))) return say('Answer', text) elif intent == 'nCrIntent': n = event['request']['intent']['slots']['n']['value'] r = event['request']['intent']['slots']['r']['value'] n = int(n) r = int(r) text = 'The value of ' + str(n) + ' C ' + str(r) + ' is ' + str( logic.factorial(n) // (logic.factorial(n - r) * logic.factorial(r))) return say('Answer', text) elif intent == 'AboutIntent': text = 'I was created by Rajdeep Roy Chowdhury. ' return say('Developer', text) # Required Intents elif intent == "AMAZON.CancelIntent": return sayWithoutCards("Ok! Cancelling...") elif intent == "AMAZON.HelpIntent": text = ( 'You can ask me to calculate trigonometric functions, Factorials,' 'Exponents, Permutations and combinations. I would learn more functions as soon as possible.' ) return sayAndListen('Help', text) elif intent == "AMAZON.StopIntent": return sayWithoutCards("Ok! Stopping...") else: return say( 'Oops', 'Oops! This option is invalid right now, it might be available in the next version.' )