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

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

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

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

Q&A

1回答

708閲覧

python ファイルの読み込みについて

anpanpp

総合スコア3

Python

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

0グッド

0クリップ

投稿2021/11/14 04:00

編集2021/11/14 04:15

テキストファイルのファイル名を引数に取り,そのテキストファイルに含まれる文字数を返す関数 file を書きなさい.ただし,改行文字は文字数に含まないものとする.また,テキストファイルの文字コードは utf-8 とする

という問題なのですが、このように考えました

python

1def file(filename): 2 with open(filename,mode='r',encoding = 'utf-8') as x: 3 a = 0 4 for y in x: 5 if len(x) > 1: 6 a += y 7 a -= 1 8 return a

このプログラムは間違いでした。分かる方教えていただけますでしょうか。

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

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

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

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

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

BeatStar

2021/11/14 05:37

> このプログラムは間違いでした。 いや、だからなに? プログラミングは『こう書けばいい』というものではありません。 『現実世界のシミュレーション』です。 高校までの数学のように、常にきまっているもの…ではありません。 ある意味、小説のようです。 単に『好きだ』と表現するにも、 『月が綺麗ですね』と某小説家(別の人が言ったともされる)や、ストレートに『君が好きだ』とも、比喩的?に『俺の隣にいてくれ』とかみたいにいろんな表現ができますよね。 これと一緒っです。よほど論理破綻していなければそれでいいのです。 流石に論理破綻していたら論外ですが。 プログラミングは『こう書けばいい』のではなく、論理を記述し、デバッグという、エラーに対処することです。 つまり、DIYと一緒です。 自分で椅子のデザインや設計図を書き、それに基づいて作る。でもそのままだと『右の前足の高さが…』のようなバグがあったりするので修繕する。 これがDIY。 これと一緒です。 プログラミングも、自分で設計し、自分でコーディングし、自分でデバッグまでする。です。 でも今の質問では、「俺はDIYをやってみたい。椅子を作りたい。でも作りきれないし、自分でやってみたが高さとかが合わないから誰か設計図を書いて作ってくれ」と言っているようなものです。 …だったらやめれば?既製品買えよ… 的な感じになりませんか? それと一緒なんです。 一応、自分なりのコードを出されていますが、『どのようにうまくいかないのか』が書かれていません。 それでは他人はわかりませんよ。 回答者は質問者ではありません。赤の他人です。言わないとわかりません。 たしかに動かしてみればわかるのかもしれませんが、常にそうだとは限りません。よくあるパターンだと、『ファイルの文字コードが違う』、『初期設定がおかしい』、『ファイルがない』、『そもそもコマンド等の使い方(dirコマンド等)が違う』とかみたいな環境的なエラーの場合もあります。 そんなの、コードだけではわかりませんよ。 『パンクな服を買いました。ですが似合いません。なぜですか?』みたいなものです。知らんがな。って感じ。 もしかしたら似合ってはいるが、本人が思い込んでいる可能性だってある。 でもその画像を見せればどのように似合わないのかが明白。それと一緒です。 とりあえず、『自分でデバッグして』、『どのようにうまくいかないのか』を書きましょう。 それとコンパイルエラー等のエラーメッセージが出るのならメッセージぐらい読みましょう。 エラーメッセージ等はコンパイラやインタプリタ等からのメッセージです。 『んー、なんか、この変数っている?使ってないんだけど…』みたいなコメントのようなものです。それを『わからねーwwwwwww』とかって一人で暴走しているだけですよ。今の状態は。
guest

回答1

0

実行してみましょう。すると、

python

1>>> def = file(filename): 2 File "<stdin>", line 1 3 def = file(filename): 4 ^ 5SyntaxError: invalid syntax

となりますので、その意味を考えてください。
英語が苦手なら、Google翻訳を使って意味を調べましょう。

コードが修正されたようですね。

実行してみましょう。すると、

python

1>>> file('data3D.txt') 2Traceback (most recent call last): 3 File "<stdin>", line 1, in <module> 4 File "<stdin>", line 5, in file 5TypeError: object of type '_io.TextIOWrapper' has no len()

となりますので、その意味を考えてください。
英語が苦手なら、Google翻訳を使って意味を調べましょう。

投稿2021/11/14 04:13

編集2021/11/14 07:07
ppaul

総合スコア24668

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

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

anpanpp

2021/11/14 04:16

すみません。写し間違いでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問