python-3.x - 我想检查单词的第一个和最后一个字母是否相同以返回 True 否则为 false。但它每次都返回true
问题描述
def first_last(message):
for char in message:
if char[0] == char[-1]:
return True
elif message == "":
return True
else:
return False
我这样使用它:
print(first_last("night")) # should return False
print(first_last("nun")) # should return True
print(first_last("")) # should return true
解决方案
当您使用时,for loop
您从 获得单个字符message
,那么您的比较是没有意义的。
你可以试试这个:
def start_and_end_are_same(message):
if message[:1] == message[-1:]:
return True
else:
return False
print(start_and_end_are_same('night'))
print(start_and_end_are_same('nun'))
print(start_and_end_are_same(''))
推荐阅读
- android-studio - Android App 在发布版本中不显示来自云 Firestore 的图像,但在调试版本中有效
- r - 如何使用 tabyl 的结果在 GGplot 中获取百分比并制作直方图
- python - 如何在python中使“\\”成为字符串?
- c++ - While 循环不会与 inFile 一起循环
- laravel - 在显示视频的生产服务器中获取文件未找到异常
- angular - 虚拟滚动无法在 Angular 中使用响应数据-cdk-virtual-scroll-viewport
- c++ - 删除整个二叉树 C++
- python - TypeError:“模块”对象不可调用 - 调用构造函数
- reactjs - react-native 未检测到我的物理设备
- jquery - Bootstrap 4 导航切换按钮不起作用?