儘管您沒有發佈任何代碼,但在我看來,儘管您自己確實試圖自己完成這項任務,但您確實被困住了。我決定在這裏幫助你,因爲我看到你是一個新成員,可能並不知道網站的所有規則,但在將來,要知道如果你包含代碼,人們可能只會回答你的問題你試過:
def replaceSegment(s, replace, start, stop):
new_string = s[:start]
for c in s[start:stop]:
new_string += replace if c == 'X' else c
new_string += s[stop:]
return new_string
或同等學歷(但令人作嘔不可讀)的一行:
replaceSegment=lambda s,r,i,e:s[:i]+''.join(r if c=='X' else c for c in s[i:e])+s[e:]
我必須第一個參數的名字從str
更改爲s
因爲str
是名稱Python中的內置函數,通常認爲它是不好的做法來掩蓋它們。另外,考慮到你的算法描述,你的例子並沒有什麼意義。我認爲矛盾的主要來源是你沒有意識到Python是一種零索引語言,這意味着字符串的第一個字符的索引是零,而不是一個。因此,爲了得到你想要的輸出,我改爲調用replaceSegment('HXello! X balXoo!', 'Hope', 2, 9)
。我幫助replaceSegment('X', 'Hope', 0, 1)
!
來源
2016-02-21 16:04:44
pzp
「我無法弄清楚」這不夠研究努力。你有什麼嘗試?你卡在哪裏?你會知道如何在沒有啓動和停止參數的情況下完成任務嗎? – timgeb
你好!如果你包含一些你已經做過的嘗試,它會真的幫助你的帖子。顯示你正在使用的代碼(即使它不工作),是**最好的**方式向社區解釋你究竟在做什麼以及你在哪裏陷入困境。 – Lix
我投票結束這個問題作爲題外話題,因爲它顯示零研究努力或嘗試,並不清楚OP卡在哪裏。 – timgeb