Quantcast
Channel: Calculator final project in Python - Code Review Stack Exchange
Viewing all articles
Browse latest Browse all 4

Answer by user3590710 for Calculator final project in Python

$
0
0

I made some changes. Is there anything else I have missed that could be considered bad practice?

Main

def main():
#Operators are +,-,*,/
#Special operator are c and esc
calculator()

Calculator

def calculator():
num1 = 0        #Resets calulator.
clear = True       #Checks if calculator is cleared
while True:
    try:
        print("Last result: ",num1)

        #Number 1 input.
        if clear == True:
            num1= float(input("First Number: "))    

        #Operator input.
        #Checks for input of special operators 'c', 'sqrt', and 'esc'.
        operator=input("Operator: ").lower()
        if bool(re.search('^(?=.*[0-9]$)', operator)) == True: #Check if operator contains a number
            raise ValueError(" Operator must be +,-,*,/,sqrt, or c") #Throw error if operator is a number.
        elif operator == "c":
            num1 = 0
            clear = True
            print("Calculator cleared")
        elif operator=="sqrt":
            num1=(sqrt(num1))
            print("result: ",num1)
            continue
        elif operator=="esc":
            sys.exit(0)

        #Number 2 input.    
        if operator == "c":
            pass
        else:
            num2= float(input("Second Number: "))

        #Operator calls.
        if operator=="+":
            num1= add(num1,num2)
            clear = False
        elif operator=="-":
            num1= sub(num1,num2)
            clear = False
        elif operator=="*":
            num1= mult(num1,num2)
            clear = False
        elif operator=="/":
            num1= div(num1,num2)
            clear = False

        #Copy num1 to System's clipboard and display the num1.    
        copy2clip(str(num1))      
        print("=======================")
        print("result: ",num1)
        print("copied to clipboard")
        print("=======================")

    #Catch any errors and reset calculator            
    except ValueError as error:
        print("=======================")
        print("Error: ",repr(error))
        pass

Viewing all articles
Browse latest Browse all 4

Trending Articles