質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

384閲覧

teratail 雛形 Atcoder、Pythonにコードの間違い指摘への助言

sakura.k

総合スコア50

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/08/07 08:47

前提

Atcoderの以下の問題にて、コードを書いたのですが、エラーになってしまいました。コードを見ていただき、問題点を教えていただきたいです。

実現したいこと

以下の問題において、期待する出力を出すようなコードを書くこと。
https://atcoder.jp/contests/abc146/tasks/abc146_b

発生している問題・エラーメッセージ

TypeError: 'str' object does not support item assignment

該当のソースコード

python

1n=int(input()) 2s=input() 3 4#アルファベット 5alph="ABCDEFGHIJKLMNOPQRSTUVWXYZ" 6 7for i in range(len(s)): 8 #アルファベットが何番目(添字)か 9 num=ord(s[i])-ord("A") 10 #全体の大きさで割ると、末尾と1番目がつながっていることとして処理できる 11 s[i]=alph[(num+n)%len(alph)] 12 13print(s)

試したこと

実際にコードを書きました。

補足情報(FW/ツールのバージョンなど)

なし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2022/08/07 08:55

”試したこと”に”実際にコードを書きました。”とありますが、これだけでは伝わらないので、エラーが出たコードに対してどのような修正コードを書いたのか(試したのか)が分かるように追記しましょう。
1T2R3M4

2022/08/07 09:10

デバッグした内容を質問に追記していただけませんか。
melian

2022/08/07 09:13

> 'str' object does not support item assignment と表示されている通りなのでリストを用意して alph[(num+n)%len(alph)] の結果を追加して行く(append)とよいかと思います。ループでの処理が完了したら join で繋げます。
guest

回答1

0

ベストアンサー

文字列の一部を変更することはできません。
新しく文字列を作成していくか、listにして変更する等の操作が必要です。

python3

1n = int(input()) 2s = input() 3 4# アルファベット 5alph = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 6ans = '' 7 8for i, c in enumerate(s): 9 # アルファベットが何番目(添字)か 10 num = ord(s[i])-ord("A") 11 # 全体の大きさで割ると、末尾と1番目がつながっていることとして処理できる 12 ans += alph[(num+n) % len(alph)] 13 14print(ans) 15

投稿2022/08/07 09:15

kyokio

総合スコア560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sakura.k

2022/08/07 09:24

なるほど。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問