hayashi0001
@hayashi0001 (S hayashi)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

文字列を入れ替えたい python

解決したいこと

入力した文字列を変換するプログラムを書きたい
例)入力した値:ababbbaaabab
  出力した値:babaaabbbaba
  のように値を入れ替えたい

発生している問題・エラー

TypeError: 'str' object cannot be interpreted as an integer

該当するソースコード

n = int(input())
arr = input()
for j in range(n):
    if arr[j] == 'a':
        ans[j] = arr[j].replace('a','b','1')
    elif arr[j] =='b':
        ans[j] = arr[j].replace('b','a','1')
print(ans)

nは文字列の長さです
arrは文字列です

0

1Answer

元のコードになるべく近い形にしてみました:

n = int(input())
arr = input()
ans = ""
for j in range(n):
    if arr[j] == 'a':
        ans += 'b'
    elif arr[j] == 'b':
        ans += 'a'
    else:
        ans += arr[j]
print(ans)
2Like

Comments

  1. @hayashi0001

    Questioner

    回答ありがとうございます!
    ans += 'a' は配列の先頭から加える、という解釈でよろしいでしょうか?

  2. いえ、最後尾に加える、ですね。

  3. @hayashi0001

    Questioner

    ごめんなさい、自分の間違い打ちです。
    丁寧なコードと回答ありがとうございました!

Your answer might help someone💌