如何在不使用 if 语句进行打印的情况下输出带小数点的值

How to output values with decimal points, without using if statement for printing

我想为一组输入计算 a * b / 100 values.For 输入:“37 450” 我得到“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)

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

以下将打印结果为 float,除非它是 0.0 - 然后它将打印 0:

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

除法自动将数字转换为浮点数。因此,如果您不希望整数中有小数点,只需使用 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)

它将打印您预期的输出。