アン「アキュムレータ」have-は、ループを使用して行われている計算の一時的な結果を保持する変数です。たとえば、整数のリストを合計するには、accumulator変数をゼロに設定し、ループを使用してリスト内の各整数をアキュムレータに追加します。ループが終了すると、アキュムレータの値はリストの合計になります。あなたの問題で
s2
は、第二、第四、第六、第八、...手紙を保持しながら、s1
は、第一、第三、第五、第七、...アルファベットの文字を保持しています。 s1
の最初の文字に続いてs2
の最初の文字を入力し、次にs1
に2番目の文字を追加し、続いてs2
の2番目の文字を追加することで、アルファベット全体を構築することができます。これらの文字のうち、一度に1つ。
range(n)
関数は、0
で始まるn
の値より小さい整数を返します。これらの整数は、一度に1文字ずつ取得するために、s1
とs2
文字列のインデックスとして使用できます。 range()
についてもっと多くのことが言えます。チュートリアルのサイトではないので、詳細はチュートリアルを読む必要があります。
ここでは、あなたがしたいことを行ういくつかのコードです。これは同じ長さの2つの入力文字列に依存することに注意してください。それ以外の場合はエラーが発生します。私は、変数名をより自己記述的にするために変数名を変更しました。このコードは索引の使用において「Pythonic」ではないことに注意してください。これを行うにはより良い方法がありますが、range()
は使用しません。
string1 = 'acegikmoqsuwy'
string2 = 'bdfhjlnprtvxz'
accum = ''
for index in range(len(string1)):
accum += string1[index] + string2[index]
print(accum)
印刷結果がアルファベットである:
abcdefghijklmnopqrstuvwxyz
@RoryDaultonいいえ、私はそれが命令型プログラミングの一般的な用語で、理解しています。彼らはまだこれを教えています:)私は質問が適切に指定されていないと言ってみようとしていましたが、一見すると、これらの文字列は単にアルファベットの織り込みであることを認識しませんでした。課題が何を得ていたのかは明らかです。 –