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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

425閲覧

txtファイルの文章を画面出力したい

tako15

総合スコア11

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2022/09/26 03:50

前提

sample.txtの偶数列・奇数列の文章をそれぞれ分けてリストに入れ、その結果を画面出力したい。

実現したいこと

出力結果が希望通りでないことを直したい。

['さざなみ', '']
['寄せては引いていく', '']

現状上記のように出力されているが、 , '' の部分を消して、下記のように出力したい

['さざなみ']
['寄せては引いていく']

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

python hiyu_prog.py sample.txt を実行

['さざなみ', ''] ['寄せては引いていく', ''] ['神々しい大伽藍', ''] ['去っていった', ''] ['初めて聞く言葉', ''] ['のろのろと', ''] ...

該当のソースコード

Python

1# hiyu_prog.py 2import sys 3A_yuji = [] # 喩辞を入れる 4B_hiyuji = [] # 被喩辞を入れる 5 6with open(sys.argv[1], "r", encoding = "utf-8") as f: 7 8 hiyu_words = [] # 比喩の単語を入れる 9 10 for words in f: 11 word = words.split('\n') 12 hiyu_words.append(word) 13 14 for i in range(0, len(hiyu_words)): 15 if i % 2 == 0: 16 A_yuji.append(hiyu_words[i]) 17 else: 18 B_hiyuji.append(hiyu_words[i]) 19 20# 結果を画面出力 21for i in range(0, len(hiyu_words)): 22 print(A_yuji[i]) 23 print(B_hiyuji[i]) 24 print() # 改行 25

sample.txt

1さざなみ 2寄せては引いていく 3神々しい大伽藍 4去っていった 5初めて聞く言葉 6のろのろと 7コンクール常連 8実力者 9不動明王 10髪を逆立てるだろう

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

Python 3.10.0

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

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

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

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

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

TakaiY

2022/09/26 04:17

回答付いていますが、 word = words.split('\n') ここにsplitを入れているのは何故ですか?
guest

回答1

0

ベストアンサー

splitではなく strip したいのでは?

py

1>>> 'hello\n'.split('\n') 2['hello', ''] 3>>> 'hello\n'.rstrip('\n') 4'hello'

偶数奇数を分けるならもっと簡単な方法があります。

py

1# hiyu_prog.py 2import sys 3 4with open(sys.argv[1], encoding = "utf-8") as f: 5 lines = [line.strip() for line in f] # すべての行 6 7yujis = lines[::2] # 偶数列の喩辞を入れる 8hiyujis = lines[1::2] # 奇数列の被喩辞を入れる 9 10for yuji, hiyuji in zip(yujis, hiyujis): 11 print(yuji) 12 print(hiyuji) 13 print() # 改行

投稿2022/09/26 04:14

編集2022/09/26 08:44
shiracamus

総合スコア5406

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問