Python输入排序问题:整数字符串拆分后排序异常求助
解决输入整数排序时被拆分为单个字符的问题
你的问题出在直接对input()返回的字符串调用sorted()——字符串是字符序列,sorted()会逐个拆分字符排序,自然得不到完整整数的排序结果。按以下步骤修改就能解决:
- 分割输入字符串:用
split(',')把逗号分隔的内容拆成列表,再用strip()去掉每个元素前后的空格 - 转换为整数类型:把分割后的每个字符串元素转成整数
- 对整数列表排序:调用
sorted()对整数列表排序
修正后的代码
input1 = input() # 输入 23, 12, 45 # 分割、去空格、转整数 num_list = [int(num.strip()) for num in input1.split(',')] # 对整数列表排序 sorted_nums = sorted(num_list) print(sorted_nums)
运行结果
[12, 23, 45]
如果需要支持浮点数排序,把int()换成float()即可。
内容的提问来源于stack exchange,提问作者BeginningCoder04
相关产品推荐
相关产品推荐

