You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python用户输入值排序:输入6个数字取最小值代码排序异常如何解决

问题原因
  • input() 函数默认返回字符串类型,当前代码直接将字符串存入列表后排序,采用的是ASCII码逐位比较的字符串排序规则,而非实际数值大小排序,因此会出现排序结果不符合预期的问题,例如输入10和2时,字符串排序会判定"10"小于"2"。
修复方案

将每次输入的内容转换为数值类型即可,若仅需要支持整数输入用int()转换,需要支持小数输入用float()转换即可。

修复后示例代码(整数输入版)

x = [] 
x.append(int(input()))
x.append(int(input()))
x.append(int(input()))
x.append(int(input()))
x.append(int(input()))
x.append(int(input()))
x.sort()
smallest = x[0]
print(x)
print(smallest)

更简洁的优化写法

不需要手动排序,直接调用内置min()函数即可直接获取列表最小值,代码更精简,执行效率也更高:

# 支持整数输入
x = [int(input()) for _ in range(6)]
print(min(x))

如果需要支持小数,把代码中的int替换为float即可。

内容的提问来源于stack exchange,提问作者Rave Hood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 00:57:05