如果物种名称以quercus
开头,我有一个文档测试来返回TRUE
,TRUE
但如果给定的物种名称包含拼写错误(例如quercuss
(。如何确保不仅返回TRUE
以该物种名称开头并且仅与完整单词匹配?
def is_an_oak(name):
""" Returns True if name is starts with 'quercus'"""
return name.lower().startswith('quercus')
我尝试在单词后留一个空格,但在脚本中进一步使用该函数时省略了结果:
def is_an_oak(name):
""" Returns True if name is starts with 'quercus'"""
return name.lower().startswith('quercus ')
这应该可以解决问题:
def is_an_oak(name):
""" Returns True if first word in name is 'quercus'"""
return name.split()[0].lower() == 'quercus'
编辑考虑 OP 评论: 我添加的是用空格(.split()
(分割字符串,然后取第一个单词([0]
(并对其进行比较。
用于获取单词;
import re
def is_an_oak(name):
""" Returns Name if name is 'quercus'"""
return re.match("^[qQ]uercus*",name).string
用于获取真/假
import re
def is_an_oak(name):
""" Returns True if name is 'quercus'"""
if re.match("^[qQ]uercus*",name):
return True
else:
return False