我是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)
答案 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
转换为list
和sort
列表。
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)