2016-07-09 14 views
-1
def Codehelp(st): 
    i = 0 
    noot = "" 
    while i < len(st): 
     if st[i] == '$': 
      noot += "**" + st[i] + "**" 
     i += 1 
    if '$' in noot: 
     return noot 
    else: 
     return "**" 
    return 

基本的に、ユーザーが「$」を含む文字列を入力するたびに、コードは '$'の前後に2つのアスタリスクを含む '$'のみを返します。ほとんどのテストケースでは、コードは正常に実行されますが、一度「$」が複数ある文字列を入力すると、****$**$**の代わりに**$****$****$**(文字列の先頭と末尾の両方に2を加えます)を出力します二 *)。文字列操作オーバーラップ

答えて

0

あなたが言うように私はこの出力を得る:**$****$****$**。 これは意味があると確信できるのは、現在のインスタンス$をチェックし、前後に**を追加するだけだからです。 もっとインテリジェントにしたい場合は、現在のものより後に別の$があるかどうかを調べるために、何かを実装する必要があります。

**$$(期待したとおりではありませんが、私を修正してください)、別の$があるかどうかを調べるには次のインデックスを調べる必要があります)、第2の$の後に**を追加しないでください。