如果与最接近的整数的绝对差小于或等于0.01,我想四舍五入为最接近的整数,
我的代码与测试:
import unittest
def round_price(price):
if abs(price - round(price)) <= 0.01:
price = int(round(price))
return price
class TestRounding(unittest.TestCase):
def test_rounding(self):
self.assertEqual(round_price(15.98), 15.98)
self.assertEqual(round_price(15.99), 16)
self.assertEqual(round_price(16.00), 16)
self.assertEqual(round_price(16.01), 16)
self.assertEqual(round_price(16.02), 16.02)
if __name__ == '__main__':
unittest.main()
我在测试时仍然出现错误,
self.assertEqual(round_price(16.01),16)断言错误:16.01!= 16
您需要比较价格和四舍五入价格之间的差额:
def round_price(price):
if abs(price - round(price)) <= 0.01:
price = int(round(price))
return price
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句