我正在用Python编写一个程序来查找数组中最短和最长的字符串,例如这是find_shortest
def find_shortest(words):
N = len(words)
shortest = words[0]
i = 1
while i < N:
if len(shortest) >= len(words[i]): #Change only this line for find_longest
shortest = words[i]
i += 1
return shortest
我的问题是 find_longest 函数与 find_shortest 函数相同,只是 find_longest 使用 <= sign instead of >=。我不想复制粘贴 find_shortest 函数来制作 find_longest 但我别无选择。在这种情况下如何避免复制粘贴和冗余?
您可以基于函数参数,例如order参数,定义您想要执行的操作。放置一个 if 来标识操作是否:最短执行最短操作,如果不是,执行最长操作。它会添加一些逻辑,但可以帮助避免函数重复并且可以使用相同的作用域。