私はPythonにかなり慣れていないので、プログラムのロジックを構築することに固執しています。学びたいのですが、外部からの助けが必要だと感じています。多分あなたたちは私を助けることができます。これは宿題/プロジェクトです。
このlist (SalesData.txt)
ように見えます:
- 名前1
- 23
- 34
- 454
- 名前2
- 344
- 34
- 45
そしてそれは少なくとも5つの異なる名前のために続きます。しかし、例では、これで十分です。
基本的に、私はすべての数字の合計を考え出す必要があり、次に、すべての名前の合計を考え出す必要があります。
出力::この場合(例を使用)
- 総計=934(すべての数値の合計)
- 名前1の合計=511(名前1の数値の合計)
- 名前2の合計=423(名前2の数値の合計)
数字だけを含むファイルの合計を取得する方法は知っていますが、混合物になると非常に混乱します。また、すべての合計を取得する際にどのように指定できますか"name"
。.isdigit()
とを使用して.isalpha()
、いつ合計するか、いつ合計しないかをリストに指示する必要がありますか?
どんなアドバイスも私を助けてくれます!ありがとう!
更新 これはこれまでの私のコードです:
data = []
data = open("SalesData.txt").read().split()
for i in data:
s = sum([ float(i) ])
print "Sum=" , s
print "Avg=" , s/len(data)
これは、ファイルがすべてNUMBERSの場合にのみ機能し、内容を簡単に合計できます。ただし、12個の数字ごとに文字列を処理していることを忘れないでください。フロートのある線が見つかった場合にのみ合計を計算する方法を理解しようとしています。
アップデート#2
まだガイダンスが欲しいです!私は自分のやり方で物事をまとめ始めていますが、いくつかの非常に基本的な問題を見つけました(確かに)
data = []
data = open("SalesData.txt").read().split()
for i in data:
if str(i):
print 'This one is Letter'
elif float(i):
s = sum([ float(i) ])
print "Sum=" , s
print "Avg=" , s/len(data)
この例が機能しないことはわかっているので、その理由を知りたいと思います。リストを分析しようとしています。'i'が文字列の場合、プログラムは(この例では'Letter'を出力します)文字列でない場合は、通常の数値の合計を実行します。私はこのプログラムを一度に1つずつ取っており、提供された混合リストを使用して合計数を取得できるようにしたいのですが、文字列を文字列として分析し、浮動小数点数を浮動小数点数として分析するという側面にとらわれています。