Найти - Пользователи
Полная версия: Числа с плавающей точкой.
Начало » Python для новичков » Числа с плавающей точкой.
1
DmBand
К примеру, есть функция, в которую передаётся 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, резульат получается очень странным…
Я прочитал, что нужно отказаться от / и заменить его на //, но тогда результат выходит ещё более неверный…
Как можно устранить эту проблему?

xam1816
DmBand
Вот моё решение:
что это за задача, хотелось бы ее увидеть в оригинале
DmBand
xam1816
хотелось бы ее увидеть в оригинале
В оригинае ещё нужно выполнить проверку входных данных, что они не строки, не отрицтельные и т.д. Всё остальное, как я описал выше
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB