2016-05-30 10 views
5

これで、 ''を*に変更する必要があります。私は動作していないよう割り当て文字列内の文字を1文字ずつ移動し、空白をPythonで交換する

def characterSwitch(ch,ca1,ca2,start = 0, end = len(ch)): 
    while start < end: 
     if ch[start] == ca1: 
      ch[end] == ca2 
     start = start + 1 
sentence = "Ceci est une toute petite phrase." 
print characterSwitch(sentence, ' ', '*') 
print characterSwitch(sentence, ' ', '*', 8, 12) 
print characterSwitch(sentence, ' ', '*', 12) 
print characterSwitch(sentence, ' ', '*', end = 12) 

次LEN(CH)を思い付いたとも私はこれがこれを行うための最も効率的な方法ではないかなり確信しています。以下は、私が目指してる出力されます。あなたはreplace()ため

Ceci*est*une*toute*petite*phrase. 
Ceci est*une*toute petite phrase. 
Ceci est une*toute*petite*phrase. 
Ceci*est*une*toute petite phrase. 
+0

'ch'はまだ定義されていません。そして、「置換」の仕事のように聞こえる – Pythonista

+0

あなたはどんな出力を得ますか?なんでしょう? –

+0

質問に答えるために出力を追加しましたが、8番目の文字から12番目の文字を置き換える方法を見つけることができませんでした。私はそれを使用して、すべてのスペースを切り替えました – user3413472

答えて

4

お探しですか?

sentence = "Ceci est une toute petite phrase." 
sentence = sentence.replace(' ', '*') 
print sentence 
# Ceci*sest*sune*stoute*spetite*sphrase. 

さらにa demo on ideone.comを参照してください。 2番目の要件については

(12文字まで8日からのみ交換する)、あなたができる:

sentence = sentence[8:12].replace(' ', '*') 
1

はあなたがこのようにそれを行うことができます文字でそれを文字にしなければならないと仮定:

sentence = "this is a sentence." 
replaced = "" 

for c in sentence: 
    if c == " ": 
     replaced += "*" 
    else: 
     replaced += c 

print replaced 
関連する問題