python计算器程序 [英] python calculator program

查看:134
本文介绍了python计算器程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用函数编写了一个简单的计算器程序,我不知道这段代码到底有什么问题,它显示错误.我做了一些可能的步骤来调试它,但是我做不到.

I wrote a simple calculator program by using functions, I don't know what exactly wrong with this code, its showing error. I did possible steps to debug this, but I couldn't.

#!/usr/bin/python

def add():        
        print "Enter the two numbers to Add"
        A=int(raw_input("Enter A:"))
        B=int(raw_input("ENter B:"))
        c = A + B 

def sub():            
        print "Enter the two numbers to Subtract"
        A=int(raw_input("Enter A:"))
        B=int(raw_input("Enter B:"))
        c = A - B

def Mul():
        print "Enter the two numbers to Multiply"
        A=int(raw_input("Enter A:"))
        B=int(raw_input("Enter B:"))
        c = A * B

def Div():   
        print "Enter the two number to Divide"
        A=float(raw_input("Enter A:"))
        B=float(raw_input("Enter B:"))
        c = A / B

print "1: ADDITION"
print "2: SUBTRACTION"
print "3: MULTIPLICATION"
print "4: DIVITION"
print "0: QUIT"

while true:

    CHOICE = int(raw_input(("ENTER THE CORRESPONDING NUMBER FOR CALCULATION")) 

    if CHOICE == "1": 
        print 'ADDING TWO NUMBERS:'
        add(c):

    elif CHOICE == "2":
        print 'SUBTRACTING TWO NUMBERS:'
        sub(c):

    elif CHOICE == "3":
        print 'MULTIPLYING TWO NUMBERS:'
        Mul(c):

    elif CHOICE == "4":
        print "DIVIDEING TWO NUMBERS"
        Div(c):

    elif CHOICE == "0":
        return 0:

    else
        Print "The value Enter value from 1-4"

错误:

  File "cal_fun.py", line 44
    if CHOICE == "1": 
                  ^
SyntaxError: invalid syntax

推荐答案

我已经尝试解决您的代码中的所有问题,其中有很多.

syntax错误开始:

# true needed a captial T
while True:   

    # Brackets were mismatched
    CHOICE = int(raw_input("ENTER THE CORRESPONDING NUMBER FOR CALCULATION")) 

    if CHOICE == "1": 
        print 'ADDING TWO NUMBERS:'
        # Calling a function shouldn't have trailing : 
        add(c)

    elif CHOICE == "2":
        print 'SUBTRACTING TWO NUMBERS'
        # Calling a function shouldn't have trailing :
        sub(c)

    elif CHOICE == "3":
        print 'MULTIPLYING TWO NUMBERS'
        # Calling a function shouldn't have trailing :
        Mul(c)

    elif CHOICE == "4":
        print "DIVIDEING TWO NUMBERS"
        # Calling a function shouldn't have trailing :
        Div(c)

    elif CHOICE == "0":
        # can only return from a function use exit here instead
        exit()

    # else needs a trailing :
    else:
        # No capital P for print
        print "The value Enter value from 1-4"

该代码现在没有syntax错误,但仍然存在许多问题.

The code now has no syntax errors but still has many problems.

  1. 您将c传递给函数,c从未初始化,什么是c?
  2. 您的函数不使用参数def add(): (即使传递神秘的c值).
  3. 您的函数不会printreturn它只是计算的结果.
  4. 您将CHOICE存储为int是与字符串进行比较,因此始终执行else大小写,并且无法退出循环(无限循环).
  1. You pass c to your function, c is never initialized, what is c?
  2. Your function doesn't take arguments def add(): (even though pass the mysterious c value).
  3. Your function doesn't print or return the result it just computes.
  4. You store CHOICE as an int are do comparisons with strings so the else case is always executed and there is no way to exit the loop (infinite looping).


固定代码:

#!/usr/bin/python

def add():
        print "Enter the two numbers to Add"
        A=int(raw_input("Enter A: "))
        B=int(raw_input("Enter B: "))
        return A + B 

def sub():
        print "Enter the two numbers to Subtract"
        A=int(raw_input("Enter A: "))
        B=int(raw_input("Enter B: "))
        return A - B

def mul():
        print "Enter the two numbers to Multiply"
        A=int(raw_input("Enter A: "))
        B=int(raw_input("Enter B: "))
    return A * B

def div():
        print "Enter the two number to Divide"
        A=float(raw_input("Enter A: "))
        B=float(raw_input("Enter B: "))
        return A / B

print "1: ADDITION"
print "2: SUBTRACTION"
print "3: MULTIPLICATION"
print "4: DIVITION"
print "0: QUIT"

while True:

    CHOICE = int(raw_input("ENTER THE CORRESPONDING NUMBER FOR CALCULATION ")) 

    if CHOICE == 1: 
        print 'ADDING TWO NUMBERS:'
        print add()

    elif CHOICE == 2:
        print 'SUBTRACTING TWO NUMBERS'
        print sub()

    elif CHOICE == 3:
        print 'MULTIPLYING TWO NUMBERS'
        print mul()

    elif CHOICE == 4:
        print "DIVIDEING TWO NUMBERS"
        print div()

    elif CHOICE == 0:
        exit()
    else:
        print "The value Enter value from 1-4"


代码现在可以正常工作了.


The code is now functional.

输出:

1: ADDITION
2: SUBTRACTION
3: MULTIPLICATION
4: DIVITION
0: QUIT
ENTER THE CORRESPONDING NUMBER FOR CALCULATION 1
ADDING TWO NUMBERS:
Enter the two numbers to Add
Enter A: 2
Enter B: 5
7
ENTER THE CORRESPONDING NUMBER FOR CALCULATION 2
SUBTRACTING TWO NUMBERS
Enter the two numbers to Subtract
Enter A: 2
Enter B: 5
-3
ENTER THE CORRESPONDING NUMBER FOR CALCULATION 3
MULTIPLYING TWO NUMBERS
Enter the two numbers to Multiply
Enter A: 2
Enter B: 5
10
ENTER THE CORRESPONDING NUMBER FOR CALCULATION 4
DIVIDEING TWO NUMBERS
Enter the two number to Divide
Enter A: 2
Enter B: 5
0.4
ENTER THE CORRESPONDING NUMBER FOR CALCULATION 0

功能正常但不完美,例如,对于错误输入没有错误处理.

Functional but not perfect, for instance no error handling for erroneous input.

这篇关于python计算器程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆