我刚刚在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"
答案 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。你正在编程什么样的计算器就好了。