Инженерный калькулятор · Шаг 7 из 10
Что показать на экране
Python считает в двоичных дробях, и 0.1 + 0.2 у него — 0.30000000000000004. Человек с калькулятором хочет видеть 0.3. А ещё 4.0 — это «4», огромное число — в степенной записи, а бесконечность — словами.
Что сделать
Превратите ответ в строку для экрана калькулятора — без двоичного мусора и лишнего «.0».
Что приходит
z— ответ:intилиfloat
Что вернуть
Строку для экрана: обычное число — как есть, остальное — двенадцать значащих цифр; бесконечность и «не число» — словами.
Допишите функцию na_ekran в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В проекте
Калькулятор зовёт na_ekran на каждый ответ — в окне и в терминале. Решите шаг — и 0.1 + 0.2 станет 0.3.
na_ekran(0.30000000000000004)
'0.3'
Дробное число (float):
- «не число» (
math.isnan) —"Нет ответа"; - бесконечность любого знака —
"Слишком большое число"; - целое по значению и по модулю меньше
1e15— без дробной части:4.0—"4",-0.0—"0"; - остальное —
f"{z:.12g}": двенадцать значащих цифр, а очень большое и очень маленькое — в степенной записи ("1e+15","1.22464679915e-16").
Целое число (int) по модулю меньше 10 ** 15 — как есть, str(z); длиннее — тоже f"{z:.12g}".
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.