代码练习

'''
a)      字符串数组的最大前缀
flow  flower  flop   最长前缀 flo
比如cat  dog  最长前缀 空字符串输出

'''

def max_s(li):
    for k in li:
        flag_str = li[0][0]
        if k[0]!=flag_str:
            print('null')
            break
        for i in range(len(li[0])):
            flag_str = li[0][i]
            if k[i]!=flag_str:
                print(li[0][:i])



if __name__ == '__main__':
    li = ['flow','flower','flop']
    max_s(li)

从一个列表中找出和等于固定值N的数:

# 定义twosum函数,接收参数为数组及目标值
def twosum(alist, targetnum):
    # 使用enumerate函数获取列表的下标和值
    for i, j in enumerate(alist):
        # 控制targetnum - j的结果在列表中的搜索位置,从下标i的下一个位置开始搜索,用于去重
        k = i + 1
        # 检查targetnum - j的值是否在列表索引k之后出现
        if alist[k:].count(targetnum - j) > 0:
            # 如果targetnum - j的值存在于列表索引k之后,则统计出现次数,用于控制循环
            for n in range(alist[k:].count(targetnum - j)):
                # 使用index函数返回targetnum - j的索引值
                b = alist.index(targetnum - j, k)
                # 打印这两个数的索引下标
                print('索引:',i, b)
                print('对应的数:',alist[i], alist[b])
                # 重置搜索位置
                k = b + 1
原文地址:https://www.cnblogs.com/Mezhou/p/13794508.html