Python endswith()函数,不带内置函数

时间:2019-03-29 15:09:55

标签: python function ends-with

我需要在不使用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)

2 个答案:

答案 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