Python数字排序

img


要求是给输入的一串数字从大到小重新排序
​下面红色的那一坨是我第一次写的
​它能够运行,但是结果不太完全对
​比如我输入123456
​它输出123456654321
​但我想要的是654321
​怎么修改(鞠躬)

努力の小熊参考Chatgpt做出的回答:
你可以使用 Python 内置函数 sorted() 对输入的数字列表进行排序,并将其反转(从大到小排列),然后将结果转换为字符串输出。以下是一个示例代码:

num_list = list(input())  # 将输入的数字字符串转换为列表
sorted_list = sorted(num_list, reverse=True)  # 对列表进行排序并反转
result_str = ''.join(sorted_list)  # 将排序后的列表转换为字符串
print(result_str)

这段代码首先使用 input() 函数获取用户输入的数字串,然后将其转换为列表 num_list。接着,使用 sorted() 函数对列表进行排序,并指定 reverse=True 参数表示将列表逆序排序(即从大到小排列)。最后,使用 join() 方法将排序后的列表中的所有元素拼接成一个字符串 result_str 并输出。

例如,如果你输入数字串 '123456',则该代码的输出为 '654321',符合你的需求。