Python 字符串的用法及比较

问题描述 投票:0回答:2

我正在使用 python 中的字符串,我遇到了一个我无法解释的奇怪问题。 我的代码:

print(tuple_data[11])
potting_time = tuple_data[11].split("_")[1].removesuffix('min')
print(potting_time)
     if potting_time == '0':
           print('is 0')
     else:
           print('else')

print(type(potting_time))
print(len(potting_time))

输出

Material=This_Omin
O
else
<class 'str'>
1

但是,如果我从

0
复制输出
print(potting_time)
并用它替换
'0'
处的
if potting_time == '0':
并自己写
''
,则输出为“is 0”。 我想过
' '
但 len() 是 1

python
2个回答
0
投票

您发布的代码将不会执行,因为有一个

IndentationError
。不管怎样,你的问题是你正在检查
0
字符,但实际上输入(然后输出)只包含
O
字母,这显然是一个不同的字符。


0
投票

仔细查看您的输入

Material=This_Omin  
。您正在测试 min 之前的字符是否为
0
,而实际上它是
O

因此,要更正您的代码并获得您期望的结果,请将代码行

if potting_time == '0':
更改为
if potting_time == 'O':

© www.soinside.com 2019 - 2024. All rights reserved.