Problem

8 /13


すべての文字をループします

Theory Click to read/hide

すべての文字を反復処理する

文字にはインデックスによってアクセスできるため、変数ループを使用してすべての文字を反復処理し、可能なインデックス値を取得できます。たとえば、文字列 s のすべての文字コードを表示するプログラムは次のようになります。 <プレ> range(len(s)) 内の i の場合: print(s[i], ord(s[i])) プログラムの説明:
1) len(s) 関数は文字列の長さを調べます。最初の文字のインデックスは 0 で、最後の文字のインデックスは len(s)-1 です。ループ変数 i は、0 から len(s)-1 までの値を順番に取得します。
2) 各行では、最初にシンボル自体が表示され、次にそのコードが表示されます。このコードは、組み込み関数 ord()
によって返されます。
同じ列挙をさらに短く書くこともできます。 <プレ> s の c の場合: print(c, ord(c)) このフラグメントでは、ループ ヘッダーがすべての文字 s をループし、変数 c に順番に配置します。

すでに述べたように、文字列を扱うときの Python の特徴は、文字列が不変オブジェクトであることです。つまり、文字列の個々の文字を変更することは
できません。
たとえば、次のステートメントは機能しません。 <プレ> s[5]='a' ただし、必要な変更を加えた文字から新しい行を作成することはできます。
 
タスク
入力文字列内のすべての文字 'a' を置き換えます。文字 'b' に。  <プレ> s = 入力() sNew = "" s の c の場合: c == 'a'の場合: c = 'b' sNew += c print(sNew)
このプログラムでは、ループは文字列 s のすべての文字を処理します。ループの本体では、変数 с の値をチェックします。シンボルがシンボル 'a' と一致する場合、それを置き換えます。 'b' を追加し、加算演算子を使用して新しい行 sNew の末尾に追加します。
このオプションはかなり遅くなります。

今後は、組み込みの文字列操作関数を見て、それをより速く行う方法を学びます。
 

Problem

文字列内のすべてのドットをゼロとすべて大文字の「X」に置き換えるプログラムを作成してください単位。
 
<頭> <本体>
# 入力 出力
1 ..X..XX 0010011