当输入是整数时如何打印整数

问题描述 投票:0回答:1

我正在编写一个名为“计算器”的程序,它必须根据输入执行操作,例如: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)
python type-conversion
1个回答
0
投票

您是否尝试调试以查看是否进入 if 块或 elif 块?此外,您不需要其他条件。您可以使用 else,因为在这种情况下只有两种可能性。我会在 if 和 else 块中打印结果以了解行为。

检查某物是否为整数的一个简单方法是使用上限或下限函数。如果 math.floor(result) == result 则它是整数,否则不是。

© www.soinside.com 2019 - 2024. All rights reserved.