Найдите наибольшее значение, наименьшее значение и среднее значение, если 3 значения не могут быть различимыми значениями - PullRequest
0 голосов
/ 08 ноября 2019

Вот мой фрагмент кода относительно нахождения наибольшего значения, наименьшего значения и среднего значения, если все эти 3 значения могут быть различными значениями. Что если некоторые из них могут иметь одинаковое значение? Как найти наибольшее значение, наименьшее значение и среднее?

num1 = int(input("Enter 1. number : "))
num2 = int(input("Enter 2. number : "))
num3 = int(input("Enter 3. number : "))

print("Numbers\n1.number : {}\n2.number : {}\n3.number : {}".format(num1, num2, num3))

def thebiggest(num1, num2, num3):
    if (num1 >= num2) and (num1 >= num3):
        largest_num = num1
    elif (num2 >= num1) and (num2 >= num3):
        largest_num = num2
    else:
        largest_num = num3

    print("The largest number : ", largest_num)

def thesmallest(num1, num2, num3):
    if (num1 <= num2) and (num1 <= num3):
        smallest_num = num1
    elif (num2 <= num1) and (num2 <= num3):
        smallest_num = num2
    else:
        smallest_num = num3
    print("The smallest value : ", smallest_num)


def middle(num1, num2, num3):
    if (num1 <= num2 and num2 <= num3):
        middle_value = num2
    elif (num2 <= num1 and num1<= num3):
        middle_value = num3
    else:    
        middle_value = num1

    print("Middle value : ", middle_value)


thebiggest(num1, num2, num3)
thesmallest(num1, num2, num3)
middle(num1, num2, num3)

1 Ответ

0 голосов
/ 08 ноября 2019

Вы получите большую выгоду от размещения чисел в списке. В этом конкретном случае у вас есть только 3 значения, и вы можете хранить переменную для каждого из них, но представьте, что у вас есть сотни чисел.

Если поместить в массив, вы можете использовать встроенные методы для решенияэта задача легко, т. е. max(list) или min(list). Я полагаю, что нет встроенного метода для определения медианного значения, поэтому вы можете просто упорядочить список и получить значение по индексу 1.

. Вы также можете использовать f-строки длякод более компактный и чистый.

Вот возможный способ написать свой код:

nums = []

for i in range(3):
    nums.append(int(input(f"Enter {i+1}. number : ")))

print(f"Numbers\n1.number : {nums[0]}\n2.number : {nums[1]}\n3.number : {nums[2]}")

sorted_nums = sorted(nums)

print (f"The largest number : {sorted_nums[2]}")
print (f"The smallest value : {sorted_nums[0]}")
print (f"Middle value : {sorted_nums[1]}")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...