Почему round не округляет?

Написал такой код для учебы. Но столкнулся с проблемой, что во втором варианте вывода round не работает. В первом работает, а во втором - нет. Почему?

import math

radius = float(input('Введите радиус случайной планеты: '))
v = 4 / 3 * math.pi * radius ** 3
if v > 10.8321 * 10 ** 11:
  answer = round(v / 10.8321 * 10 ** 11, 3)
else:
  answer = round(10.8321 * 10 ** 11 / v, 3)
print('Объём планеты Земля больше в', answer, 'раз')

В таком варианте начало работать:

import math

radius = float(input('Введите радиус случайной планеты: '))
v = 4 / 3 * math.pi * radius ** 3
earth = 10.8321 * 10 ** 11

if v > earth:
  answer = round(v / earth, 3)
else:
  answer = round(earth / v, 3)
  
print('Объём планеты Земля больше в', answer, 'раз')

Извините. Все исправил. Вот правильный код:

import math

radius = float(input('Введите радиус случайной планеты: '))
v = 4 / 3 * math.pi * radius ** 3
earth = 10.8321 * 10 ** 11

if v < earth:
  answer = round(earth / v, 3)
  print('Объём планеты Земля больше в', answer, 'раз')
else:
  answer = round(v / earth, 3)
  print('Объём планеты Земля меньше в (1/' + str(round(1/answer, 3)) + ')', answer, 'раз')

Ответы (1 шт):

Автор решения: MBo

Округляет, только вы этого не видите.

Из-за общего формата вывода, и из-за неверных вычислений.

answer = round(v / (10.8321 * 10 ** 11), 3)

И логику сообщения (кто больше) надо бы поправить

→ Ссылка