Почему 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)
И логику сообщения (кто больше) надо бы поправить