Python中有一种方法可以避免数字结果为零时的小数部分?
当我想要a = 12
和b = 2
时:
print(a/b)
要打印:
6 # not 6.0
,如果a = 13
和b = 2
6.5 # not 6
以一种通用的方式。
答案 0 :(得分:1)
如果b
除a
且无余数和普通除法,则可以使用下限除法。
data = [ (12,2),(13,2)]
for a,b in data:
print(f"{a} / {b} = ", a // b if (a//b == a/b) else a / b)
输出:
12 / 2 = 6
13 / 2 = 6.5
这是一个三元条件语句(更多:Does Python have a ternary conditional operator?),其计算结果为a//b == a/b
。
a//b
是floordiv,而a/b
是普通div,只有当b
除以a
而没有余数(更多:What is the difference between '/' and '//' when used for division?)时,它们才相等。
答案 1 :(得分:0)
您可以使用int()/ round()方法。
print(int(a/b))