谁能解释这个代码有什么问题吗?
str1='"xxx"'
print str1
if str1[:1].startswith('"'):
if str1[:-1].endswith('"'):
print "hi"
else:
print "condition fails"
else:
print "bye"
我得到的输出是:
Condition fails
但我希望它改为打印
hi
。 最佳答案
当您说[:-1]
时,您正在剥离最后一个元素。无需切片字符串,您可以像这样在字符串对象本身上应用startswith
和endswith
if str1.startswith('"') and str1.endswith('"'):
所以整个程序变成这样
>>> str1 = '"xxx"'
>>> if str1.startswith('"') and str1.endswith('"'):
... print "hi"
>>> else:
... print "condition fails"
...
hi
像条件表达式这样更简单
>>> print("hi" if str1.startswith('"') and str1.endswith('"') else "fails")
hi
关于python - Python检查字符串的第一个和最后一个字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19954593/