私は現時点でファイルの読み書きを学習していますが、ファイル内の数値を合計するには少し助けが必要です。何をしたいファイル内の数字を合計する必要があります
def main():
sample = open (r'C:\user\desktop\text.txt','r')
for i in range (the range of int is unknown)
file = sample.read()
sample.close()
main()
私は現時点でファイルの読み書きを学習していますが、ファイル内の数値を合計するには少し助けが必要です。何をしたいファイル内の数字を合計する必要があります
def main():
sample = open (r'C:\user\desktop\text.txt','r')
for i in range (the range of int is unknown)
file = sample.read()
sample.close()
main()
は次のとおりです。
for line in sample:
# process the line
各行がちょうど整数が含まれている場合、あなたはsum(map(int, sample))
にそれをさらに簡素化することができます。
あなたは、このようなファイルを反復処理することがあります。
for i in sample:
と整数にint()
を使用して変換します。
for
ループはマップで実行でき、合計はsum
となります。
これは、最終的なコードです:安全性を追加するには
def main():
sample = open (r'C:\user\desktop\text.txt','r')
result = sum(map(int, sample))
print(result)
sample.close()
main()
、あなたはエラーチェックを使用して整数値をキャストして、ファイルがそれを読む前に存在していることを確認する必要があります。
import os
def safecast(newtype, val, default=None):
try:
return newtype(val)
except ValueError:
pass
return default
def sumfile(filename):
if not os.path.isfile(filename):
return None
sum = 0
with open(filename, "r") as file:
for line in file:
sum += safecast(int, line, 0)
return sum
sum = sumfile(r'C:\user\desktop\text.txt')
print(sum)
あなたは加算のどの部分を理解していない –
...その後ポインタがファイルの末尾にある... 'sample.read()'一度だけ呼び出すことができますか?変数をゼロに初期化し、代入で+演算子を使用する方法を知っていますか?それはあなたが上がったファイルから整数を読み込んでいますか?ファイル内のデータはどのように見えますか? – scrappedcola
'sum(map、int、sample.read()。split()))' –