我想检查这个“a”和“b”是否在userInput中。 例如:用户输入“hello”,它会说它不是ab字。 例如:如果用户输入“bag”,则会说它是ab字。 例如:如果用户输入“年龄”,则会说它不是ab字(因为缺少b)。
我尝试了很多方法,包括使用计数器计算字母表在字符串中的时间。 如果“a”和“b”在字符串内部,它将打印“内部”,否则如果其中任何一个不在内部或两者都没有内部,它将打印“不在内部”
请帮助我。我已经尝试过但似乎无法正常工作。
def tryword(x):
if x == '':
return 0
lastNum= x[-1]
if (lastNum == "a" and "b"):
return tryword(x[:-1]) + 1
else:
return tryword(x[:-1]) + 0
if recursiveWord >= 0:
print "inside"
else:
print" not inside"
print tryword("abcdef")
答案 0 :(得分:0)
检查你的病情
if (lastNum == "a" and "b"):
你的意思可能是
if (lastNum == "a" or lastNum == "b"):
但这也行不通。你可以使用魔术数字。
def tryword(x):
if x == '':
return 0
lastNum= x[-1]
if (lastNum == "a"):
return tryword(x[:-1]) | 1
if (lastNum == "b"):
return tryword(x[:-1]) | 2
return tryword(x[:-1])
assert tryword("qwer") == 0
assert tryword("a") == 1
assert tryword("b") == 2
assert tryword("bb") == 2
assert tryword("ab") == 3
assert tryword("abababab") == 3
def check_inside(s):
if tryword(s) == 3:
print "inside"
else:
print "not inside"