首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回最大值和最小值之间的差额。

返回最大值和最小值之间的差额。
EN

Stack Overflow用户
提问于 2018-06-07 15:02:24
回答 2查看 6.8K关注 0票数 1

给定数组长度为1或更多的in,返回列表中最大值和最小值之间的差值。注意:我不想使用min和max函数。10,3,5,6-7,7,2,10,9 -8

代码语言:javascript
复制
our_list = []
numbers=int(input("enter numbers").strip()) 
our_list.append(numbers) 
our_list.sort() 
print (our_list)  

这是我的逻辑,首先我将显示输入值的列表,然后我将使用排序方法对列表进行排序,从列表中查找min和max数字,然后我将从最大到最小的数字中扣除,但我无法达到这个结果,下面是我的代码。

以上代码甚至没有对数字进行排序,因此无法前进,请帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-07 15:15:55

主要问题是您需要使用空格(或另一个分隔符)来拆分,这样用户才能通过一个input提交多个数字。

由于str.split()按空格拆分并返回一个list,所以您可以将每个元素mapint并传递给sorted。下面是一个例子:

代码语言:javascript
复制
# 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) 
票数 2
EN

Stack Overflow用户

发布于 2018-06-07 15:45:35

您的方法的一个变化可能是使用一个无休止的循环,在这个循环中输入数字直到用户输入“exit”为止。

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50744490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档