我在我们将要工作的文本文件中包含以下数据。
10月26日01:12 pm
»corwinte:Ashar Delivery(64)到Rhad / Set费用:31895 CR 10月26日01:12 pm
»corwinte:Ashar Delivery(32)到Habitat-01 / Set费用:15716 CR 10月24日04:37 pm
»Dagon hammersmith:Ashar Delivery(23)至Lus / Set费用:11871 CR 10月24日04:33 pm
»Dragon:Ashar Delivery(74)到Enala / Set费用:38192 CR 10月24日04:33 pm
»Dagon hammersmith:Ashar Delivery(54)to Enala / Set Fee:27870 CR Oct 24th 04:33 pm
»Dragon:Ashar Delivery(45)to Turroth / Set Fee:23225 CR Oct 24th 04:33 pm
»Falconner:Ashar Delivery(38)to Ceas / Set Fee:19612 CR
我只是在学习python,所以这里是我的粗略代码,它并不是我想要它做的所有事情,但是它做了一些,有些事情不合适。
首先,我们对以日期开头的行不感兴趣,所以我们只是忽略它们。 我想要的是,为了让代码通过文本文件,收集所有名称及其信用(CR)值,计算每个名称的百分比,并将总数与名称一起存储。
到目前为止,我已经能够询问百分比,收集姓名并获得所有被告的百分比,而不是总数。
这是我的代码。
inp = input('enter the name of the file to be opened\n') #asks for a file,opens it,a guard to handle misspelled or files that don't exist
try:
fhand = open(inp)
except:
print('Are you on medications? there is no',inp)
exit()
per = input('Enter the percentage you would like to calculate from,percentage of the fees recieved')
perc = float(per)
for line in fhand:
if not line.startswith('»'): continue
words = line.rstrip().split() #stripping the right spaces and splitting into words
feesrecieved = words[-2]
actam = float(feesrecieved)*perc/100
print(words[1], actam)
我该如何说,给我每个名字的总计算值? I.E所有的龙都是牵引,所有的d d都是牵引等等。 谢谢!
答案 0 :(得分:1)
我想我理解你的问题。 我会将它添加到一个字典中并在我继续时更新值。
per = input('Enter the percentage you would like to calculate
from,percentage of the fees recieved')
perc = float(per)
totalFees = {} // create empty dict
for line in fhand:
if not line.startswith('»'): continue
words = line.rstrip().split() #stripping the right spaces and splitting into words
feesrecieved = words[-2]
actam = float(feesrecieved)*perc/100
print(words[1], actam)
totalFees[words[1]] = totalFees.get([words[1], 0) + actam //updating dict
您可以在找到百分比之后添加,也可以在之前添加,并在结尾计算总数