前提・実現したいこと
標準入力からデータを取得して、特定の文字が含まれている場合はその文字を表示するプログラムを作っています。入力には、1行目に判定する文字数、2行目に指定された文字、3行目以降に判定対象となる文字を入力します。出力をすると、s[1]以降は正しく判定されるのですが、s[0]がうまく判定されません。何が問題なのでしょうか?
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
python3
1input_line = int(input()) 2 3forcus = input().rstrip() 4 5s=[] 6for i in range(input_line): 7 s.append(input()) 8if forcus in s: 9 10 for i in range(input_line): 11 if forcus in s[i]: 12 print(s[i]) 13else: 14 print("None")
試したこと
range()をいじってみたり、リストの取り方などを変えてみましたがうまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
動作しますが何がどううまくいかないのでしょうか?
仮に以下のように入力すると対象となる文字列1及び2である「a」が2回出力されます。
文字列1はs[0]ですので判定されているという認識ですが。。。
(下記の#以降は入力していないです)
3#入力される回数
a#含まれる文字
a#対象となる文字列1
a#対象となる文字列2
d#対象となる文字列3
1#入力される回数
a#含まれる文字
abc#対象となる文字列1
という入力をした場合にNoneという出力がされてしまうのですが、なぜでしょうか?
3#入力される回数
a#含まれる文字
b#対象となる文字列1
a#対象となる文字列2
a#対象となる文字列3
という場合には出力には「a」が2回出力されるのですが...
回答1件
あなたの回答
tips
プレビュー