给定数组长度为1或更多的in,返回列表中最大值和最小值之间的差值。注意:我不想使用min和max函数。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) 这是我的逻辑,首先我将显示输入值的列表,然后我将使用排序方法对列表进行排序,从列表中查找min和max数字,然后我将从最大到最小的数字中扣除,但我无法达到这个结果,下面是我的代码。
以上代码甚至没有对数字进行排序,因此无法前进,请帮助。
发布于 2018-06-07 15:15:55
主要问题是您需要使用空格(或另一个分隔符)来拆分,这样用户才能通过一个input提交多个数字。
由于str.split()按空格拆分并返回一个list,所以您可以将每个元素map到int并传递给sorted。下面是一个例子:
# retrieve string input
input_str = input('Enter numbers separated by whitespace:\n')
# split by whitespace, 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) 发布于 2018-06-07 15:45:35
您的方法的一个变化可能是使用一个无休止的循环,在这个循环中输入数字直到用户输入“exit”为止。
our_list = []
i = 0
while i>= 0:
numbers = input("enter numbers")
if numbers == 'exit':
break
our_list.append(int(numbers))
print our_list.sort() https://stackoverflow.com/questions/50744490
复制相似问题