Dec-14-2016, 11:50 AM
problem is that when in sub() you give a letter instead of a number it will give a error and after that if you give both numbers it wont return anything

import math print("Calculator") def sub(): try: num1 = int(input("Give a number: ")) num2 = int(input("Give a number: ")) except (TypeError, ValueError): print("This input is invalid.") sub() else: return num1,num2 def main(): while True: num1,num2 = sub() print("(1)+") print("(2)-") print("(3)*") print("(4)/") print("(5)sin(number1/number2)") print("(6)cos(number1/number2)") print("(7)Change numbers") print("(8)Quit") print("Current numbers: ", num1, num2) num3 = int(input("Please select something (1-6): ")) if num3 == 1: print("The result is:", int(num1) + int(num2)) elif num3 == 2: print("The result is:", int(num1) - int(num2)) elif num3 == 3: print("The result is:", int(num1) * int(num2)) elif num3 == 4: print("The result is:", int(num1) / int(num2)) elif num3 == 5: print("The result is:", (math.sin(int(num1) / int(num2)))) elif num3 == 6: print("The result is:", (math.cos(int(num1) / int(num2)))) elif num3 == 7: num1 = int(input("Give the first number: ")) num2 = int(input("Give the second number: ")) continue elif num3 == 8: print("Thank you!") break else: print("Selection was not correct.") if __name__ == "__main__": main()