Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Enter the first number: 2
- Enter the second number: 10
- Enter an operator (valid operators are +, -, *, / and pow): pow
- 1024.0
- #A basic calculator which supports +, -, *, / and pow
- def add(a, b):
- return a + b
- def sub(a, b):
- return a - b
- def mul(a, b):
- return a * b
- def div(a, b):
- return a / b
- def pow(a, b):
- return a ** b
- if __name__ == "__main__":
- while True:
- try:
- number1 = float(input("Enter the first number: "))
- number2 = float(input("Enter the second number: "))
- except:
- print("That is not a number!")
- continue
- operator = input("Enter an operator (valid operators are +, -, *, / and pow): ")
- #Check if user operator is a valid one
- if operator == "+":
- func = add
- elif operator == "-":
- func = sub
- elif operator == "*":
- func = mul
- elif operator == "/":
- func = div
- elif operator == "pow":
- func = pow
- else:
- print("Invalid operator!")
- continue
- #Print result
- print(func(number1, number2))
- operators = {
- "+": add,
- "-": sub,
- "*": mul,
- "/": div,
- "pow": pow
- }
- func = operators.get(operator, None)
- if func is None:
- print("Invalid operator!")
- continue
- def main():
- while True:
- number1, number2, operator = get_user_input()
- func = operators.get(operator, None)
- if func is None:
- print("Invalid operator!")
- continue
- print(func(number1, number2))
- if __name__ == '__main__':
- main()
- import operator
- operators = {
- "+": operator.add,
- "-": operator.sub,
- "*": operator.mul,
- "/": operator.truediv,
- "pow": operator.pow
- }
- except ValueError:
- def add(a, b):
- return a + b
- def sub(a, b):
- return a - b
- def mul(a, b):
- return a * b
- def div(a, b):
- return a / b
- def mypow(a, b):
- return a ** b
- if __name__ == "__main__":
- operator_map = {"+": add, "-": sub, "*": mul, "/": div, "pow": mypow}
- while True:
- try:
- number1 = float(input("Enter the first number: "))
- number2 = float(input("Enter the second number: "))
- except ValueError:
- print("That is not a number!")
- continue
- operator = input("Enter an operator (valid operators are +, -, *, / and pow): ")
- print(operator_map[operator](number1, number2) if operator in operator_map else "Invalid operator!")
- def binary_operation(operation, left, right):
- """Returns the result of applying operation to its arguments."""
- return operator_map[operation](left, right)
- binary_operation('+', 2, 3)
- binary_operation(sys.argv[1], float(sys.argv[2]), float(sys.argv[3]))
- binary_operation(input('operator'), float(input('number')), float(input('number'))
- binary_operation('*', 5.0 binary_operation('+' 2, 3))
- def get_answer(num1, num2, op):
- ...
- if __name__ == '__main__':
- while True:
- try:
- number1 = float(input(...))
- number2 = float(input(...))
- except ValueError:
- print("That is not a number!")
- continue
- operator = input(...)
- answer = get_answer(number1, number2, operator)
- if answer is None:
- print("Invalid operator!")
- else:
- print(answer)
- import operator
- operators = {
- '+': operator.add,
- '-': operator.sub,
- '*': operator.mul,
- '/': operator.truediv,
- '%': operator.mod,
- '^': operator.pow,
- '//': operator.floordiv,
- '>': operator.gt,
- '<': operator.lt,
- '=': operator.eq,
- '!=': operator.ne,
- '>=': operator.ge,
- '<=': operator.le,
- }
- def get_answer(num1, num2, op):
- try:
- return operators[op](num1, num2)
- except IndexError:
- raise ValueError("Invalid operator")
- if __name__ == '__main__':
- operator_string = ', '.join(operators)
- print("Valid operators: {}n".format(operator_string))
- while True:
- try:
- number1 = float(input("Enter the first number: "))
- number2 = float(input("Enter the second number: "))
- except ValueError:
- print("That is not a number!")
- continue
- except (KeyboardInterrupt, EOFError):
- break # exit
- op = input("Enter an operator: ")
- try:
- print(get_answer(number1, number2, op))
- except ValueError:
- print("Invalid operator!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement