用户输入从高到低排序并删除重复的输入

时间:2019-05-25 09:48:28

标签: python

我是Python的新手,我正在尝试学习一些基础知识。因此,我遇到的问题是,我该如何制作一个代码,要求用户输入任何数字并按从低到高的顺序对其进行排序,同时不应显示重复的数字。示例:“用户输入=” 1、2、2、3、3”输出应为“ 1、2、3”

   mylist = []

   num = input("Enter how many elements you want:")
   print ('Enter numbers in array: ')
   for i in range(int(num)):
       n = input("num :")
       mylist .append(int(n))
       mylist = list(dict.fromkeys(mylist))

   print ('ARRAY: ',mylist)

5 个答案:

答案 0 :(得分:1)


Class Page extends React.Component{
  static getInitialProps(){
    return {foo:"Some Value"}
  }
  render(){
    return <Provider store={createStore(reducer,{foo:this.props.foo})}>
      <App/>
    </Provider>

  }
}

输出:

@connect(mapStateToProps,{dispatchFoo})
Class App extends React.Component{
 componentDidMount(){
   this.props.dispatchFoo({foo:"some new value"});
 }
 render(){
   <div>{this.props.foo}</div>
 }

}

答案 1 :(得分:0)

这不正是您的代码所要做的吗?

Enter how many elements you want:5
Enter numbers in array: 
num :1
num :5
num :7
num :1
num :9
ARRAY:  [1, 5, 7, 9]

您可以使用set而不是list和python sorted函数来改善代码:

# Set, not list
numbers = set()

num = input("Enter how many elements you want:")
print('Enter numbers in array: ')
for i in range(int(num)):
    n = input("num :")
    numbers.add(int(n))

sorted_numbers = sorted(numbers)

print('ARRAY: ', sorted_numbers)

答案 2 :(得分:0)

您快到了。该行:

mylist = list(dict.fromkeys(mylist))

也可以编写如下,并且仅在循环之后执行一次,而不是在循环内部执行。

mylist = list(set(mylist))

现在您需要做的就是对列表进行排序:

sorted(mylist)
# return a copy where everything is sorted

现在您可以将其打印出来,为简单起见,您可以修改列表的字符串表示形式以排除方括号

print('ARRAY: ', str(sorted(mylist))[1:-1])

答案 3 :(得分:0)

您所需要做的就是将set()更改为mylist并打印sorted(mylist)

mylist = set()

num = input("Enter how many elements you want:")
print ('Enter numbers in array: ')
for i in range(int(num)):
    n = input("num :")
    mylist.add(int(n))

print ('ARRAY: ', sorted(mylist))

请注意,您需要呼叫add()上的append()而不是mylist

答案 4 :(得分:0)

首先使用set在其中添加值,这将删除重复项

然后,将set转换为listsort列表。

mylist = set()

num = input("Enter how many elements you want: ")
print ('Enter numbers in array: ')
for i in range(int(num)):
    n = input("num : ")
    mylist.add(int(n))
mylist = list(mylist)
mylist.sort()

print ('ARRAY: ',mylist)