diff --git a/README.md b/README.md index 7fc6bf2..6ca2702 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +<<<<<<< HEAD # ScientificCalculator A feature-rich scientific calculator implemented in C++ that provides advanced mathematical operations and a user-friendly interface. @@ -198,3 +199,25 @@ This project is open source and available under the MIT License. ## Contact For questions, suggestions, or contributions, please open an issue on the GitHub repository. +======= +# Scientific Calculator + +A simple scientific calculator built in Python. + +## Features +- Basic arithmetic operations +- Trigonometric functions +- Logarithms and exponentials + +## How to Use +1. Clone the repo: + `git clone ` +2. Run the calculator: + `python calculator.py` + +## Credits +Inspired by Python calculator tutorials. + +## Disclaimer +For learning purposes. +>>>>>>> e44406f (Improve project: code quality, docs, and structure) diff --git a/calculator.py b/calculator.py new file mode 100644 index 0000000..ed53fc9 --- /dev/null +++ b/calculator.py @@ -0,0 +1,93 @@ +""" +Scientific Calculator +A simple command-line calculator supporting arithmetic, trigonometric, and logarithmic operations. +""" + +import math + +def add(x, y): + """Return the sum of x and y.""" + return x + y + +def subtract(x, y): + """Return the difference of x and y.""" + return x - y + +def multiply(x, y): + """Return the product of x and y.""" + return x * y + +def divide(x, y): + """Return the quotient of x and y.""" + if y == 0: + raise ValueError("Cannot divide by zero.") + return x / y + +def sine(x): + """Return the sine of x (in radians).""" + return math.sin(x) + +def cosine(x): + """Return the cosine of x (in radians).""" + return math.cos(x) + +def tangent(x): + """Return the tangent of x (in radians).""" + return math.tan(x) + +def logarithm(x, base=math.e): + """Return the logarithm of x to the given base.""" + if x <= 0: + raise ValueError("Logarithm undefined for non-positive values.") + return math.log(x, base) + +def exponent(x, y): + """Return x raised to the power y.""" + return math.pow(x, y) + +def main(): + print("Scientific Calculator") + print("Select operation:") + print("1. Add\n2. Subtract\n3. Multiply\n4. Divide\n5. Sine\n6. Cosine\n7. Tangent\n8. Logarithm\n9. Exponent\n0. Exit") + while True: + choice = input("Enter choice: ") + try: + if choice == '1': + x, y = float(input("x: ")), float(input("y: ")) + print("Result:", add(x, y)) + elif choice == '2': + x, y = float(input("x: ")), float(input("y: ")) + print("Result:", subtract(x, y)) + elif choice == '3': + x, y = float(input("x: ")), float(input("y: ")) + print("Result:", multiply(x, y)) + elif choice == '4': + x, y = float(input("x: ")), float(input("y: ")) + print("Result:", divide(x, y)) + elif choice == '5': + x = float(input("x (radians): ")) + print("Result:", sine(x)) + elif choice == '6': + x = float(input("x (radians): ")) + print("Result:", cosine(x)) + elif choice == '7': + x = float(input("x (radians): ")) + print("Result:", tangent(x)) + elif choice == '8': + x = float(input("x: ")) + base = input("Base (default e): ") + base = float(base) if base else math.e + print("Result:", logarithm(x, base)) + elif choice == '9': + x, y = float(input("x: ")), float(input("y: ")) + print("Result:", exponent(x, y)) + elif choice == '0': + print("Goodbye!") + break + else: + print("Invalid choice.") + except Exception as e: + print(f"Error: {e}") + +if __name__ == "__main__": + main()