如何从用户处获取输入数字并在用python打印之前对其进行排序

如何从用户处获取输入数字并在用python打印之前对其进行排序,python,string,function,Python,String,Function,我想从用户那里得到输入的数字,并对其进行排序,然后打印出来。但它给出了属性错误: AttributeError:“str”对象没有属性“sort” --使用代码-- 使用split(): 输出: Write your favourite numbers with a space: 50 40 -10

我想从用户那里得到输入的数字,并对其进行排序,然后打印出来。但它给出了属性错误:

AttributeError:“str”对象没有属性“sort”

--使用代码--

使用
split()

输出:

Write your favourite numbers with a space: 50  40 -10                                                                                                                        
['-10', '40', '50']   
编辑:

如果要在
int
中设置值:

numberList = [int(x) for x in numberList]

这是可能的答案。您还需要将str值转换为int

lucky_numbers = input("Write your favourite numbers: ")
ans = lucky_numbers.split()
ans_int = [int(i) for i in ans] 
ans_int.sort()
print(ans_int)

您无法对其进行排序,因为输入函数返回用户键入的字符串,因此它将是字符串而不是列表,您无法对其进行排序。您的方法必须更改,并且必须将用户输入和数字存储在列表中。 类似的方法可能会奏效:

lucky_numbers = []

while True:
    user_input = input('enter your favourite number or to exit enter Q:')
    if user_input == 'Q':
        break
    else:
        lucky_numbers.append(int(user_input))

lucky_numbers.sort()
print(lucky_numbers)

这只适用于整数,您还可以进行更多的类型检查,确保用户输入是数字或否,或者列表是否为空。这只是一个简单的例子来展示整个过程。

如果您输入一个数字字符串(例如,用空格分隔),您需要将数字存储在
列表中,然后对其进行排序。嘿@wink-了解,在发布问题之前,您所做的是,输入的字符将是python中的字符串,需要
类型转换
,然后才能
排序
lucky_numbers = input("Write your favourite numbers: ")
ans = lucky_numbers.split()
ans_int = [int(i) for i in ans] 
ans_int.sort()
print(ans_int)
lucky_numbers = []

while True:
    user_input = input('enter your favourite number or to exit enter Q:')
    if user_input == 'Q':
        break
    else:
        lucky_numbers.append(int(user_input))

lucky_numbers.sort()
print(lucky_numbers)