给定数组长度为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)
这是我的逻辑,首先我将显示输入值的列表,然后我将使用排序方法对列表进行排序,以从列表中找到最小和最大数量,然后我将从最大值到最小值减去但是我无法达到结果,到目前为止,这是我的代码..
以上代码甚至没有对数字进行排序,因此无法继续前进,请帮忙。
答案 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()