首页 > 解决方案 > 在 python 中,如何比较两个数字字符串而不将它们转换为 int()?

问题描述

例如,在不使用 int() 和 def 的情况下检查它们是否大于、小于或等于彼此。

num1 = "67"
num2 = "1954"

标签: pythonpython-3.xstringnumbersstring-comparison

解决方案


左填充零,然后按字典顺序比较字符串:

num1 = "67"
num2 = "1954"
if num1.zfill(10) < num2.zfill(10):
    print("67 is less than 1954")

请注意,左侧填充技巧使 2 个数字具有相同的字符串长度。所以我们正在做类似比较的事情00671954在这种情况下,字典顺序与数字顺序一致。


推荐阅读