Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 3, 2022 20:09:03

DmBand
Зарегистрирован: 2021-02-03
Сообщения: 36
Репутация: +  0  -
Профиль   Отправить e-mail  

Числа с плавающей точкой.

К примеру, есть функция, в которую передаётся A, B, C, D,

 def func(A, B, C, D):
    pass
    return f"Общая стоимость {A}руб {B}коп за {D} товаров "
где A - рубли, B - копейки, C - количество товара, которое стоит ‘A’ рублей и ‘B’ копеек. Узнать общую стоимость количества товаров ‘D’.
Работаем в идеальных условиях, т.е. входные данные всегда цифры, положительные и т.д.
Вот моё решение:
 def func(A, B, C, D):
    price = (m * 100) + n # Находим общую стоимость C товаров в копейках
    A = ((price // C) * l) // 100 # Находим отельно рубли
    B = round(((price / C) * l)) % 100 # Находим отдельно копейки 
    return f"Общая стоимость {A}руб {B}коп за {D} товаров "
Но, если на вход поступают данные типа func(0, 4, 4, 100000000000000000000000000) или func(0, 1, 100000000000000000000000, 10000000000000000000000000000000000000000000000), то, из-за деления / в строке вычисления копеек B, резульат получается очень странным…
Я прочитал, что нужно отказаться от / и заменить его на //, но тогда результат выходит ещё более неверный…
Как можно устранить эту проблему?

Отредактировано DmBand (Фев. 3, 2022 21:36:43)

Офлайн

#2 Фев. 3, 2022 20:39:05

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1352
Репутация: +  118  -
Профиль   Отправить e-mail  

Числа с плавающей точкой.

DmBand
Вот моё решение:
что это за задача, хотелось бы ее увидеть в оригинале

Онлайн

#3 Фев. 3, 2022 20:44:55

DmBand
Зарегистрирован: 2021-02-03
Сообщения: 36
Репутация: +  0  -
Профиль   Отправить e-mail  

Числа с плавающей точкой.

xam1816
хотелось бы ее увидеть в оригинале
В оригинае ещё нужно выполнить проверку входных данных, что они не строки, не отрицтельные и т.д. Всё остальное, как я описал выше

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version