我正在编写一个名为“计算器”的程序,它必须根据输入执行操作,例如:python Calculator.py add 16 9 4,输出应该是29而不是29.0,但我不断得到输出作为浮动。但是当输入具有浮点值时,我能够获得浮点输出。这就是我试图做的:根据输入打印输出。
try:
result = calculate(operation, *nums)
if any(isinstance(num, float) for num in nums):
result = float(result)
elif all(num.is_integer() for num in nums):
result = int(result)
print("Result will be", result)
except Exception as e:
print(e, file=sys.stderr)
sys.exit(1)
您是否尝试调试以查看是否进入 if 块或 elif 块?此外,您不需要其他条件。您可以使用 else,因为在这种情况下只有两种可能性。我会在 if 和 else 块中打印结果以了解行为。
检查某物是否为整数的一个简单方法是使用上限或下限函数。如果 math.floor(result) == result 则它是整数,否则不是。