学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
小明编写一个Python程序,实现找到字符串s1和s2中相同的最长子串s,并定位子串在字符串s2中出现的位置,运行结果如图:

(1)如输入s1和s2分别为 “hello”和“hi”( 不含引号),输出最长共同子串是_______
(2)定义longstr函数,功能是找到字符串s1和s2中相同的最长子串,请在划线处填入合适的代码。

def longstr(s1, s2):

       m = [[0] * (1 + len(s2)) for i in range(1 + len(s1))]

       t, h = 0, 0

       for i in range(1, 1 + len(s1)):

             for j in range(1, 1 + len(s2)):

                    if________

                           m[i][j] = m[i - 1][j - 1] + 1

                           if m[i][j] > t:

                                 t = m[i][j]

_______

                    else:

                           m[i][j] = 0

return s1[h - t:h]


(3)定义pos函数,功能是定位子串在字符串s2中出现的位置,请在划线处填入合适的代码。

pos(st):

       print("子串出现位置: ")

       start = 0

       if len(st) > 0:

             while True:

                    start = s2.find(st, start)       #返回字符串s2中子串st出现的首字符索引,从索引start开始找,若找不到,则输出-1

                    if start == - 1:

                           break

                    print(start, end="/")

_________

(4) 主程序,请在划线处填入合适的代码

s1 = input("s1:")

s2 = input("s2:")

s =_______

print("最长共同子串: ", s)

pos(s)

编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交