我正在尝试制作一个计算器,它可以执行 5 个过程,即用户输入的加、减、乘、除和平方根值。我已经完成了所有这些,但是当尝试使值!= float 和 int 时,错误出现在输入值为 float 和 int 时...我尝试了 value == str 然后出现错误,但即使这样也行不通...有人帮帮我吗?
例如
if value[0] != 'float' or value[0] != 'int' or value[1] != 'float' or value[1] != int':
return 'the input value is not correct
我已经尝试了上面的两个,它似乎不起作用。因为程序无法在浮点数、整数和字符串之间读取。
如果我输入
calculator('+', 3, 4)
结果说错误.....
我之所以有 'print type(value[0], [1]) 是为了确保它们是针对不断发生的错误的类型。`
def calculator(sym, *t):
value = tuple(t)
n = len(value)
print type(value[0])
print type(value[1])
if value[0] != 'float' or value[0] != 'int' or value[1] != 'float' or value[1] != int':
return 'the input value is not correct.'
else:
if sym == '+':
if len(value) != 2:
return 'The input value is not correct.'
else:
return float(value[0] + value[1])
elif sym == '-':
if len(value) != 2:
return 'The input value is not correct.'
else:
return float(value[0] - value[1])
elif sym == '/':
if len(value) != 2:
return 'The input value is not correct.'
elif value[1] == 0:
return 'The input value is not correct.'
else:
return float(value[0] / value[1])
elif sym == '*':
if len(value) != 2:
return 'The input value is not correct.'
else:
return float(value[0] * value[1])
elif sym == 'sqrt':
if len(value) != 1:
return 'The input value is not correct.'
elif value[0] < 0:
return 'The input value is not correct.'
else:
return value[0] ** 0.5
else:
return 'The input value is not correct.'
`