今後のコーディング競争のためにNiOからいくつかの練習をしていました。競争はオンラインで行われ、stdin.readlineを使用して自分のコードをテストすることができます。 stdinの使い方は私を本当にくっついてしまった。スクリプトはraw_inputで完璧に動作していますが、sys.stdin.readlineに切り替えるたびに "ValueError:substring not found"がスローされます。私は何かばかげた間違ったことをしていますか?Pythonプログラムはraw_input()では動作しますが、sys.stdin.readlineでは動作しません
import string
import sys
n = int(sys.stdin.readline())
txt = sys.stdin.readline()
ab = string.ascii_uppercase
result = ""
for letter in txt:
result += ab[((ab.index(letter) + n) % 26)]
print result
は、どのようにそれを呼び出していると何を入力のための後、コマンドラインで入力していますか?エラーはどこにありますか?あなたの質問にテキストのスクリーンダンプを投稿してください。 –
'readline()'は文字列の最後に改行を含みます。 'ab'に改行がないので、最後の文字に到達すると' ab.index(文字) 'が失敗します。 – Barmar
入力のいずれかが大文字でない場合、コードでエラーが発生します。 – Barmar