我需要在不使用Python内置函数的情况下制作endswith()函数。我想知道是否有什么方法可以使我做得更短,更容易?我敢肯定,我的方法确实很复杂。
string = "example for endswith"
find = "endswith"
l = len(find)
final = False
b = 0
tstring =[]
new = ""
for i in string:
if find[b] == i:
tstring.insert(b,i)
b = b + 1
if b == l:
print(tstring)
break
for x in tstring:
new += x
print(new)
if(new==find):
final = True
print(final)
答案 0 :(得分:0)
这个怎么样?
def endswith(a, b):
for i in range(len(b)):
if a[-1-i] != b[-1-i]:
return False
return True
这是一个递归实现,仅出于教育目的而没有用:
def endswith(a, b):
return not b or (b[-1] == a[-1] and endswith(a[:-1], b[:-1]))
或者,当然,没有循环:
def endswith(a, b):
return a[-len(b):] == b
但是我认为那不是任务的想法。
答案 1 :(得分:0)
#include