python中的基本计算器程序

时间:2012-11-22 09:07:32

标签: python calculator

我刚刚在python中编写了一个简单的计算器脚本,通常python应该默认识别( - )减号,(*)乘法,(/)除号,但在考虑这个脚本时,它无法识别符号。请留下您的意见以清除我......

#! /usr/bin/python

print("1: ADDITION")
print("2: SUBTRACTION")
print("3: MULTIPLICATION")
print("4: DIVISION")

CHOICE = raw_input("Enter the Numbers:")

if CHOICE == "1":
    a = raw_input("Enter the value of a:")
    b = raw_input("Enter the value of b:")
    c = a + b
    print c

elif CHOICE == "2":
    a = raw_input("Enter the value of a:")
    b = raw_input("Enter the value of b:")
    c = a - b
    print c

elif CHOICE == "3":
    a = raw_input("Enter the value of a:")
    b = raw_input("Enter the value of b:")
    c = a * b
    print c

elif CHOICE == "4":
    a = raw_input("Enter the value of a:")
    b = raw_input("Enter the value of b:")
    c = a / b
    print c

else: 
 print "Invalid Number"
 print "\n"

3 个答案:

答案 0 :(得分:5)

您需要将输入,字符串更改为整数或浮点数。因为,有分工你最好把它改成浮动。

a=int(raw_input("Enter the value of a:"))
a=float(raw_input("Enter the value of a:"))

答案 1 :(得分:4)

当你得到输入时,它是一个字符串。 +运算符是为字符串定义的,这就是它工作的原因,但其他运算符却没有。我建议使用辅助函数来安全地获取整数(如果你正在进行整数运算)。

def get_int(prompt):
    while True:
        try:
            return int(raw_input(prompt))
        except ValueError, e:
            print "Invalid input"

a = get_int("Enter the value of a: ")

答案 2 :(得分:1)

Billwild说你应该改变你的变量整数。但为什么不漂浮。如果它是整数或浮点数并不重要,它必须是数字类型。 Raw_input接受任何输入,如字符串。

a=float(raw_input('Enter the value of a: '))

或者蒂姆的方法

def get_float(prompt):
    while True:
        try:
            return float(raw_input(prompt))
        except ValueError, e:
            print "Invalid input"

a = get_float("Enter the value of a: ")

您始终可以将结果转换为float或int或back。你正在编程什么样的计算器就好了。