самый большой / самый маленький (НЕ мин / макс) из списка целых чисел (включая минусы) - PullRequest
0 голосов
/ 27 июня 2018

(я не смог найти примеры мин / макс с использованием отрицательных целых чисел)

Hello. Я пытаюсь написать простую программу, которая найдет «самые большие» и «самые маленькие» из 3-х определяемых пользователем целых чисел. Это было бы слишком легко, если бы я просто хотел найти минимум и максимум. Я думаю, что меня просят написать программу, которая находит минимум / максимум абсолютных значений этих чисел, а затем запоминает, какое число сгенерировало наибольшее / наименьшее, даже если оно было отрицательным. Это звучит немного сложнее, хотя и это вводный курс. Может кто-нибудь сказать мне, что самое простое решение этой проблемы?

В настоящее время моя программа находит только мин / макс:

print("This program will find the \"biggest\" \n"
      "and \"smallest\" of three integers. \n"
      "Please enter Num1: ")
while True:
  try:
     nNum1 = int(input())       
  except ValueError:
     print("Please enter an integer. \n")
     continue
  else:
     print("You have entered " + str(nNum1) + ". \n")
     break
print("Please enter Num2: ")
while True:
  try:
     nNum2 = int(input())       
  except ValueError:
     print("Please enter an integer. \n")
     continue
  else:
     print("You have entered " + str(nNum2) + ". \n")
     break
print("Please enter Num3: ")
while True:
  try:
     nNum3 = int(input())       
  except ValueError:
     print("Please enter an integer. \n")
     continue
  else:
     print("You have entered " + str(nNum3) + ". \n")
     break

nMin = min(abs(nNum1), abs(nNum2), abs(nNum3))
print("The *smallest* of these three numbers is " + str(nMin) + ". \n")
nMax = max(abs(nNum1), abs(nNum2), abs(nNum3))
print("The *largest* of these three numbers is " + str(nMax) + ". \n")

1 Ответ

0 голосов
/ 27 июня 2018

Просто используйте sorted с abs в качестве ключевой функции, и наименьшее число будет первым элементом в результирующем списке, а наибольшее число будет последним элементом.

>>> a = [-5, -8, 2]
>>> sorted(a, key=abs)[0]
2
>>> sorted(a, key=abs)[-1]
-8
>>>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...