実現したいこと
入力した文字列の中で、特定の文字が入っていた場合、入力した文字をそのまま返し、なかったら何も返さない。もし、入力した文字の中のどれにも特定の文字が入っていなかったら"None"と返す。プログラムを作成します。
例) "pizza"、 "paiza"、 "aizu"、 "ai"、 "sai"と入力し、この中で、特定の文字列"ai"が含まれているのは、"paiza"、 "aizu"、 "ai"、 "sai"なので、この4つを出力します。
入力のフォーマット
n // 文字列
t //特定の文字列
s_1
.
.
.
s_n //対象の文字列
入力例1
5
ai
pizza
paiza
aizu
ai
sai
出力例1
paiza
aizu
ai
sai
入力例2
3
warn
safe
normal
test
出力例2
None
前提
ここに質問の内容を詳しく書いてください。
今回質問するのは、実現したいことの方でも書かせていただいた、「特定の文字が入っていたら、そのままその文字列を出力し、入っていなかったら何も返さない」というプログラムは作れたのですが、後半の「入力した文字の中のどれにも特定の文字が入っていなかったら"None"と返す」というプログラムがどうしても作れません。
発生している問題・エラーメッセージ
エラーメッセージは出ないのありません。入力例1は正確に出力できるのですが、入力例2では、自分のコードでは、"None"を3回出力してしまい、for文をどうしても使ってしまうため、"None"だけ1回出力するということができません
間違いの出力 None None None ### 該当のソースコード n = int(input()) t = input() s = [] for i in range(n): s_i = input() s.append(s_i) for i in range(n): if t in s[i]: print(s[i]) else: print("None") ```ここに言語名を入力 phython ### 試したこと 特定の文字を含んだ文字列をカウントして、0だった場合、"None"と出力するや、for文の外で"None"を出力するなど試しましたが、前者は自分の知識不足で満足のいくプログラムが作れず、後者は特定の文字列を含んだ文字列がある場合にも"None"を出力してしまい、上手くいきませんでした。まだ、Phythonをpaizaで学び始めて数か月ですが、この手の問題がたくさん出てきてちょうど壁にぶつかっているところなのでぜひ教えていただきたいです。 他に詳しく聞きたい情報があればコメントしていただきたいです。 ### 補足情報(FW/ツールのバージョンなど) paiza.ioを使用 ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー