如何输出带小数点的值,而不使用if语句进行打印



我想为一组输入值计算a * b / 100。对于输入:";37450〃;我得到了";166〃;。但是预期输出是:;166.5〃;

a,b = map(int, input().split())
print(int(a * b / 100))

工作输入:

45 200

输出:

90

输入错误(答案(:

37 450

预期输出:

166.5 

实际代码输出:

166

如果我删除print语句中的int((,我将得到"0.0";对于";0";输出我们是否可以在不使用If语句的情况下正确打印";0";值输出?。

我看到的答案输出为0,而不是0.0。请重新检查你的问题。如果您看到您的输出为0.0,那么您的代码必须如下所示。

a,b = map(int, input().split())
print(int(a) * b / 100)

请重新检查并进行必要的更正,并告知我们解决方案的状态。

Division自动将数字强制转换为浮点值。所以,如果你想在一个整数中没有小数点,只需要使用if-else块。

a, b = map(int, input().split())
res = a * b / 100
if int(res) == res:
print(int(res))
else:
print(res)

或者更简单地说,

print(int(res) if int(res) == res else res)

它将打印您的预期输出。

以下将结果打印为float,除非是0.0,否则将打印0:

a,b = map(int, input().split())
result= a * b / 100
if result == 0.0:
result = int(result)
print(result)

最新更新