微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从用户获取输入数字并对其进行排序,然后再在python中进行打印

如何解决如何从用户获取输入数字并对其进行排序,然后再在python中进行打印

我想从用户那里获得输入数字并对其进行排序,然后打印出来。但这会导致属性错误

AttributeError:'str'对象没有属性'sort'

-带有代码-

lucky_numbers = input("Write your favourite numbers: ")
ans = (lucky_numbers)
ans.sort()
print(ans)

解决方法

使用CamelCaseNamingStrategy

[JsonProperty( "camelCaseName" )]

输出:

split()

编辑:

如果要在lucky_numbers = input("Write your favourite numbers with a space: ") numberList = lucky_numbers.split() numberList.sort() print(numberList) 中使用值:

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

如果数字用空格分隔,则可以调用split( )以获得“数字字符串列表”。

然后,您可以调用map将字符串转换为数字,例如list(map(int,stringlist))

这是您可以参考的简单演示。

lucky_numbers = input("Write your favourite numbers: ")
stringlist = lucky_numbers.split( )
numbers = list(map(int,stringlist))
numbers.sort()
for i in numbers:
    print(i)
,

这可能是答案。您还需要将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)

这仅适用于整数,并且您可以做更多的工作来进行类型检查,并确保用户输入的内容为数字或数字,或者列表为空。这只是显示整个过程的简单示例。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。