Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Calculator math.sqrt
#1
So the main problem is im unsure how to implement math.sqrt into my code.
what i want is that i could take squareroot from answer i get. ive tried adding else to elseif but im doing something wrong so ill just paste working code as to not to confuse you.
import cmath
import math

# Program make a simple calculator that can add, subtract, multiply and divide using functions
# This function adds two numbers
def add(x, y):
   return x + y
# This function subtracts two numbers
def subtract(x, y):
   return x - y
# This function multiplies two numbers
def multiply(x, y):
   return x * y
# This function divides two numbers
def divide(x, y):
   return x / y
def sqareroot(x, y):
   return math.sqrt(x)

print("Select operation.")
print("1.Add")
print("2.Subtract")
print("3.Multiply")
print("4.Divide")
# Take input from the user
choice = input("Enter choice(1/2/3/4):")
num1 = int(input("Enter first number: "))
num2 = int(input("Enter second number: "))
if choice == '1':
   print(num1,"+",num2,"=", add(num1,num2))
elif choice == '2':
   print(num1,"-",num2,"=", subtract(num1,num2))
elif choice == '3':
   print(num1,"*",num2,"=", multiply(num1,num2))
elif choice == '4':
   print(num1,"/",num2,"=", divide(num1,num2))

else:
   print("Invalid input")
Reply
#2
Well, you need to add a new choice, with a new print after line 24 and a change to the text in line 26. Then you need a ways to distinguish binary operators from unary operators, and only has for a second number if the operator is binary. I would make a list of the choices for binary operators, and add an if statement to check that before line 28. Then you need a new elif for the new choice, right after line 36. That should do it.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply
#3
Well the problem is that i need to sqareroot an answer of one of the 4 choices that i choose i understand needing to put 5 option and write how to use that but im unsure how to implement it
I dont know how to do more else statements inside else statement
Reply
#4
Does it all have to be in the same menu? Because the simple way to do this would be to add a question after line 28 asking if they want to square root the result. Then the best thing to do would be to add an if to the end of the program that did a square root of the result. The problem is that you are not storing the result. So you would have to add that. That is, instead of:

print(num1,"+",num2,"=", add(num1,num2))
You would have

result = add(num1, num2)
print(num1,"+",num2,"=", result)
Then you could calculate and show math.sqrt(result) at the end of the program.
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply
#5
print("Select operation.")
print("1.Add")
print("2.Subtract")
print("3.Multiply")
print("4.Divide")
print("5.Square root")
# Take input from the user
choice = input("Enter choice(1/2/3/4/5):")
num1 = int(input("Enter first number: "))
if choice != "5" :
    num2 = int(input("Enter second number: "))
Then add the code to handle square roots after the code for Divide.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Adding a sqrt function syntax error and <build-in function sqrt> from tkinter import Kael 0 1,865 Oct-14-2019, 05:51 PM
Last Post: Kael

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020