我是一个初学者,我有一个问题。有可能比较字符串中的字符吗?
我做了一个功能:
def animal_crackers(text):
text1 = text.split()
a = ''
count = 0
for a in text1:
for char in enumerate(a):
if char[0] == char[1]:
return True
else:
return False
结果:
>>> animal_crackers('Spam Spam')
>>> False
逻辑是我试图拆分由两个单词组成的字符串。然后,我用第一个“ for”循环设置这些单词,然后尝试使用第二个和“ enumerate(a)中的字符”进入字符串。
如果两个单词都以相同的字母开头,则应返回True。
这基本上是行不通的,所以我想知道。您能给我一个建议而不准备好的代码吗?或者也许你可以告诉我哪里出了错。
答案 0 :(得分:1)
您还可以查看琴弦的Levensthein距离。这确实很基础,但是对于初学者来说是一个很好的教训,也是比较版式的一种合理方法。
答案 1 :(得分:0)
虽然字符串与列表不同,但是可以像列表一样访问它们的元素。
salami = 'Salami'
spam = 'Spam'
cheese = 'Cheese'
salami[0] == spam[0] # True
salami[0] == cheese[0] # False
答案 2 :(得分:0)
这可能是您需要的:
def animal_crackers(text):
text1 = text.split()
for i in range(len(text1)-1):
if text1[i][0] == text1[i+1][0]:
print(True)
else:
print(False)
return
答案 3 :(得分:0)
我可以看到错误在哪里,它在“枚举(a)”处。当您使用枚举时,它将返回一对,就像第一次迭代一样,它将给出(0, 'S')
即char[0] = 0
和char[1]='S'
,因此char[0] == char[1]
是False
,它们是不同的数据类型。而是尝试像列表一样建立索引,因为text1.split()
将返回列表。希望对您有所帮助。