猿问

将一个字符串插入另一个字符串时出错

我有一个字符串s= 'aaeekmnnry'和另一个字符串p = 'aka'。我想在 s 的第二个索引处插入 p,这样我的输出就是ans = 'aaakaeekmnrry'. 为此,我编写了以下代码:


f = p[0]

i = 0

while i < len(s):

    if p[0] <= s[i]:

        i+=1

    else:

        break    

ans = ''.join(s[:i]) + ''.join(p) + ''.join(s[i:])

但是我的索引i变成了字符串的长度并且输出是'aaeekmnnryaka',我期望i变成 2。我做错了什么?


ABOUTYOU
浏览 145回答 2
2回答

米琪卡哇伊

你弄错了你的条件。s当你看到字母 in 的字典顺序更高时,你应该突破。i = 0while i < len(s):&nbsp; &nbsp; if p[0] < s[i]:&nbsp; &nbsp; &nbsp; &nbsp; break&nbsp; &nbsp; else:&nbsp; &nbsp; &nbsp; &nbsp; i += 1ans = s[:i] + p + s[i:]# aaakaeekmnnry

SMILET

你离正确答案还差一个字符!你<=想要的是- 当你的字符串>=的第一个字符大于(或等于)你当前正在检查的位置的字符时,你不断增加位置。除此之外,您的代码是正确的。ps
随时随地看视频慕课网APP

相关分类

Python
我要回答