前提・実現したいこと
最近プログラミングの勉強を始めた者です。現在ファイル出入力に関する課題に取り組んでいるのですが、上手くいきません。
課題は、、テキストファイルのファイル名を引数に取り、そのテキストファイルに含まれる文字数を返す関数 count_characters を書きなさい。ただし、改行文字は文字数に含まないものとする。また、テキストファイルの文字コードは UTF-8 とする。
発生している問題・エラーメッセージ
FAIL: test1 (main.TestCountCharacters)
Traceback (most recent call last):
File "test.py", line 7, in run_test
ans = count_characters(filename)
File "/grader/student_code.py", line 6, in count_characters
total += int(line.strip())
ValueError: invalid literal for int() with base 10: 'kanazawa'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "test.py", line 17, in test1
self.run_test(filename, expected)
File "test.py", line 9, in run_test
self.fail(e.args)
AssertionError: ("invalid literal for int() with base 10: 'kanazawa'",)
該当のソースコード
python
試したこと
def get_total(filename):
total = 0
with open(filename) as f:
for line in f:
if not len(line.strip()) == 0:
total += int(line.strip())
return total
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。