Вернуть разницу между наибольшим и наименьшим значениями - PullRequest
0 голосов
/ 07 июня 2018

Если длина массива 1 или более, верните разницу между самым большим и самым маленьким значениями в списке.Примечание: я не хочу использовать минимальную и максимальную функцию. [10,3,5,6] - 7, [7,2,10,9] - 8

our_list = []
numbers=int(input("enter numbers").strip()) 
our_list.append(numbers) 
our_list.sort() 
print (our_list)  

Вот мойлогика, сначала я выведу список введенного значения, а затем я буду использовать метод сортировки для сортировки списка, чтобы найти минимальное и максимальное число из списка, а затем вычту из максимального до минимального числа, но я не могудостичь результата, вот мой код до сих пор ..

Приведенный выше код даже не сортирует числа, поэтому не может двигаться вперед, пожалуйста, помогите.

Ответы [ 2 ]

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

Разновидностью вашего подхода может быть использование бесконечного цикла, в котором числа вводятся до тех пор, пока пользователь не наберет «выход».

our_list = []
i = 0
while i>= 0:
    numbers = input("enter numbers") 
    if numbers == 'exit':
        break
    our_list.append(int(numbers)) 
print our_list.sort() 
0 голосов
/ 07 июня 2018

Основная проблема заключается в том, что вам нужно разделить пробел (или другой разделитель), чтобы пользователь мог отправить несколько чисел через один input.

Поскольку str.split() разделяется на пробел и возвращаетlist, вы можете map каждый элемент int и перейти к sorted.Вот пример:

# retrieve string input
input_str = input('Enter numbers separated by whitespace:\n')

# split by whitsepace, convert to integer, then sort
numbers = sorted(map(int, input_str.split()))

# calculate difference between last and first items
res = numbers[-1] - numbers[0]

# display / print result  
print(res) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...