Python 如果两个单词中的第一个字母为True,则函数返回True或False
我现在正在学习Python。我正在编写一个函数,该函数允许输入两个单词的字符串,并测试两个单词的首字母是否相同。我写了下面的代码,我非常确定它应该可以工作,但显然我错了。需要帮忙吗 当我单独拆分代码并在一个2字字符串上测试它时,将(mystring.lower()[0][0])和(mystring.lower()[1][0])分开,它工作得非常好,并使我得到正确的“真或假”结果,但在下面的合并格式中,它没有返回正确的结果Python 如果两个单词中的第一个字母为True,则函数返回True或False,python,Python,我现在正在学习Python。我正在编写一个函数,该函数允许输入两个单词的字符串,并测试两个单词的首字母是否相同。我写了下面的代码,我非常确定它应该可以工作,但显然我错了。需要帮忙吗 当我单独拆分代码并在一个2字字符串上测试它时,将(mystring.lower()[0][0])和(mystring.lower()[1][0])分开,它工作得非常好,并使我得到正确的“真或假”结果,但在下面的合并格式中,它没有返回正确的结果 def myfunc(mystring): for item in
def myfunc(mystring):
for item in mystring.split():
a = mystring.lower() [0][0]
b = mystring.lower() [1][0]
if a == b:
return True
else:
return False
结果:(两个单词的第一个字母必须相同,函数才能为真)
您不需要在拆分的字符串上循环。将分割结果分配给变量,然后测试变量的第一个和第二个元素
def myfunc(mystring):
words = mystring.split()
a = words[0][0].lower()
b = words[1][0].lower()
return a == b
您使用
item
作为循环变量,但从未使用过它。这已经表明您的算法有问题。浏览每一行,思考当时每个变量应该是什么。另外,if blah:return True否则return False
与简单地return blah
相同。。。。既然你提到了这件事,你提出了一个非常非常好的观点。。。我并没有在那个for循环中使用这个项目……谢谢!
def myfunc(mystring):
words = mystring.split()
a = words[0][0].lower()
b = words[1][0].lower()
return a == b