Skip to main content
 首页 » 编程设计

python之为什么我的字符串比较认为 '100%' '70%'

2025年05月04日25tuyile006

我正在使用以下代码:

if str(percentage[0]) > '70%': 

在以下输入上:

82% 
92% 
78% 
73% 
100% 
50% 
100% 
67% 

但我得到以下输出:

82% 
92% 
78% 
73% 

为什么 python 不评估和打印 100%,即使它是真的?我的逻辑中是否缺少某些内容?

请您参考如下方法:

字符串逐个字符进行比较:

1. 2. 3. 4. 
----------- 
7  0  % 
1  0  0  % 

你看,第一个 7 比第二个字符串的 1 “大”,因为字符 0, 1 , 2, 3, 4, 5, 6, 7, 8, 9依次存储。

我认为最合乎逻辑的是将字符串转换为整数并进行比较:

aa = ['82%', '92%', '100%', '73%'] 
 
nn = [int(a[:-1]) for a in aa] 
# or  
nn = [int(a.rstrip('%')) for a in aa] 
 
# nn is now [82, 92, 100, 73] 
 
for n in nn: 
    if n > 70: 
        ...