如果可以输出“YES”,不然为“NO”
Input
abcheaibcdi
Output
YES
Input
hiedi
Output
NO
Input
qOaYju
Output
No
其实就是检查heidi是否为输入字符串的子序列,办法有很多,列举一二:
s = "heidi"
a = input()
for i in s:
j = a.find(i)
if j>-1:
a = a[j:]
else:
print("NO")
break
else:
print("YES")
用正则也可以
import re
p = r'.*h.*e.*i.*d.*i'
print("YES") if re.findall(p,input()) else print("NO")
我的思路如下:
1、首先,获取一个字符串输入.
2、然后用五个if 来判断是否找到五个字符的位置,如果五个都找到,则打印"YES", 如果没有找到,则在相应else分支打印"NO",然后执行break退出循环。
参考链接:
python 查找字符串中某个字符的位置_python 字符串查找的4个方法和count函数_创新工场的博客-CSDN博客
代码如下:
s = input("请输入一个字符串:") #获取一个字符串输入
pos =0 #用于记录寻到相应字符的位置
while True : #寻找查找位置
pos=s.find('h',pos,len(s)) #首先寻找第一个字符 'h'
if pos!=-1: #如果找到,则继续寻找下一个字符
pos=s.find('e',pos,len(s)) #继续寻找第二个字符 'e'
if pos!=-1: #如果找到,则继续寻找下一个字符
pos=s.find('i',pos,len(s)) #继续寻找第三个字符 'i'
if pos!=-1: #如果找到,则继续寻找下一个字符
pos=s.find('d',pos,len(s)) #继续寻找第四个字符 'd'
if pos!=-1: #如果找到,则继续寻找下一个字符
pos=s.find('i',pos,len(s)) #继续寻找第五个个字符 'i'
if pos!=-1: #如果找到,则打印"YES"
print("YES")
break
else : #如果没有找到第五个字符,则打印'NO',然后退出循环
print("NO")
break
else : #如果没有找到第四个字符,则打印'NO',然后退出循环
print("NO")
break
else : #如果没有找到第三个字符,则打印'NO',然后退出循环
print("NO")
break
else : #如果没有找到第二个字符,则打印'NO',然后退出循环
print("NO")
break
else : #如果没有找到第一个字符,则打印'NO',然后退出循环
print("NO")
break