Ввести 4 действительных числа, найти ту у которой абсолютное значение дробной части меньше, чем у других?

pablo224488 pablo224488    1   04.06.2021 15:02    2

Ответы
arkadikmxitary arkadikmxitary  04.07.2021 15:04

a, b, c, d = float(input()), float(input()), float(input()), float(input())

array = [a, b, c, d] #Создаём массив, состоящий из 4 действительных чисел

FracPart = [a%1, b%1, c%1, d%1] #Создаём отдельный массив, состоящий из дробных частей исходных чисел

minimal = abs(min(FracPart)) #Переменной minimal присваиваем минимальное абсолютное значение между дробными частями

print('\nThe fractional part with the minimum absolute value is: ', round(minimal, 4))

"""Так как остаток от деления не целое число, то в цикле — переменную minimal мы округлим,

чтобы неточность перевода двоичного

в десятичный была не так уродлива.

   """

for i in range (len(array)):

   #Из за этого нужно также округлить array[i], чтобы значения и вправду были друг другу равны, а не примерно

   if round(array[i]%1, 4) == round(minimal, 4):

       minFrPart = array[i] #В этой переменной хранится число, с минимальной дробной частью

       print('The number with the minimum value of the fractional part among others is: ', minFrPart)

       break

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика