返回最大值和最小值之间的差异

时间:2018-06-07 15:02:25

标签: python list sorting input

给定数组长度为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 :(得分:1)

主要问题是您需要按空格(或其他分隔符)进行拆分,以便用户通过单个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) 。这是一个例子:

multiplyExact

答案 1 :(得分:0)

您的方法中的变体可能是使用无限循环,其中输入数字直到用户输入“退出”。

our_list = []
i = 0
while i>= 0:
    numbers = input("enter numbers") 
    if numbers == 'exit':
        break
    our_list.append(int(numbers)) 
print our_list.sort()