0

我刚刚在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"
4

3 回答 3

5

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

a=int(raw_input("Enter the value of a:"))
a=float(raw_input("Enter the value of a:"))
于 2012-11-22T09:13:44.017 回答
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: ")
于 2012-11-22T09:15:04.773 回答
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: ")

您始终可以将结果转换为浮点数或整数或返回。你正在编程什么样的计算器很重要。

于 2012-11-22T09:36:27.133 回答