2016-09-28 2 views
0

나는 사용자가 파일을 열고 스팸 확신을 위해 텍스트를 구문 분석 할 수있는 프로그램을 작성 중이다. 이 루프를 만들 수 있었지만 지금은 평균을 찾을 수 있도록이 모든 숫자의 합계를 만들어야합니다. 숫자가 정수가 아니므로 다른 솔루션을 사용하는 데 문제가 있습니다. 부동 소수점 숫자의 몇 가지 예는 다음과 같습니다. 스팸 : 0.7605, 0.6932, 0.7558, 0.6526. 프로그램은 두 개의 다른 파일을 읽을 수 있어야 목록을 만들 수 없습니다. 여기 파일에서 부동 소수점 수의 합 및 평균 찾기 (파이썬 3.5)

내가 지금 무엇을 가지고 :

sum = 0 
average=0 
total=0 

fname = input('Enter the file name: ') 
fhand = open(fname) 
count=0 
for line in fhand: 
    if line.startswith("X-DSPAM-Confidence: ") : 
     spam = line[19:].strip() 
     spam = float (spam) 
     print('Spam:', spam) 
     count = count + 1 

sum(float(item) for item in spam) 

average= total/ count 
print('Average: ', average) 

당신의 목록처럼 spam을 치료하기 때문에 그것은

답변

0

그게 전부 (스팸 항목에 대한 플로트 (항목)) 합에 위반된다 합계 기능. 처음이 반복되는 경우

for line in fhand: 
    if line.startswith("X-DSPAM-Confidence: ") : 
     temp = line[19:].strip() 
     spam.append(float (temp)) 
     print('Spam:', spam) 
     # count is not needed if spam is a list count = len(spam) 
     count = count + 1 

sum(float(item) for item in spam) 

또는 더 나은 아직 그냥 요약 :

당신과 같이 스팸 목록에 추가 할 수 있습니다

for line in fhand: 
    if line.startswith("X-DSPAM-Confidence: ") : 
     spam = line[19:].strip() 
     sum += float (spam) 
+0

너무 감사합니다! 알았어. – jaywah

관련 문제