-4

我想创建一个函数来检查字符串是否以“是”或“否”开头,但我不确定如何。

If string begins with "Yes"
return "Yes"
4

6 回答 6

13

尝试startswith函数

if myStr.startswith("Yes"):
    return "Yes"
elif myStr.startswith("No"):
    return "No"

请注意,还有一个endswith 函数来检查您的字符串是否以预期的文本结尾。

如果您需要检查该字符串是否以以下开头:

if not myStr.lower().startswith("yes"):
    return "Not Yes"
elif not myStr.lower().startswith("no"):
    return "Not No"
于 2013-04-15T04:57:58.747 回答
6

可能更灵活是好的

if s.lower().startswith("yes"):
    return "Yes"
elif s.lower().startswith("no"):
    return "No"
于 2013-04-15T05:02:03.620 回答
0

你有没有尝试过:

yourString.startsWith("Yes")
于 2013-04-15T04:58:27.613 回答
0

所有你需要的是

String.startswith("yes")

如果字符串不是以yes 开头,它将返回false,如果是,则返回true。

于 2013-04-15T05:00:50.093 回答
0

name = "是吗?测试"

如果 name.index('Yes') == 0:

print 'String find!!'
于 2013-04-15T05:59:00.033 回答
0

这可能是最好的解决方案:

def yesOrNo(j):  
  if j[0].lower() == 'y':
    return True
  elif j[0].lower() == 'n':
    return False
  else:
    return None
def untilYN():
  yn = input('Yes or no: ')
  j = yesOrNo(yn)
  while j == None:
    yn = input('Please insert yes or no again; there may have been an error: ')
    j = yesOrNo(yn)
  return j
print(untilYN())

例如:

print(untilYN())
>> Yes or no: Maybe
>> Please insert yes or no again; there may have been an error: yeah then
True
于 2020-12-27T20:31:43.837 回答