2014-03-27 4 views
0

이 python 프로그램을 작동시키지 못했습니다. 그것은 내 바탕 화면에있는 사용자로부터 입력 된 .txt 파일을 가져 오기로되어 있습니다. 한 줄의 문자로 된 txt 파일입니다. 사용자가 파일을 입력하면 프로그램은 Xs, Ys 및 Zs (대문자와 소문자 모두) 수와 Xs, Ys 또는 Z가 아닌 "bad"문자 수를 계산합니다.파일을 읽고 사용자가 입력 한 txt 파일의 문자 수를

는 여기에 내가 무엇을 : 당신이 생각하지 않습니다

def main(): 
    count = 0 
    F1 = raw_input("Enter output file name: ") 
    File = open(F1,"r") 
    for i in File: 
     a=str.count('x' and 'X') 
     print "The number of Xs was: ", a 
     b= str.count('y' and 'Y') 
     print "The number of Ys was: ", b 
     c = str.count('z' and 'Z') 
     print "The number of Zs was: ", c 
     d = str.count 
     print "The number of bad characters was: ", 
    return 

main() 

답변

1

이 표현

str.count('x' and 'X') 

. 서브 표현식 'x' and 'X'이 평가하는 방법을 참조하십시오 :

>>> 'x' and 'X' 
'X' 

당신은이 작업을 수행 할 수 있습니다, 대신 :

a=str.count('x') + str.count('X') 

또는

a=s.upper().count('X') 

당신이, b와 c의 계산을 해결 한 후, 당신이 필요로하는 d의 계산을 고친다. 다음과 같이 수행 할 수 있습니다

d = len(str) - (a + b + c) 
+0

끝내 주셔서 감사합니다. 하지만 난 여전히이 오류가 발생하고 여전히 나쁜 문자를 모두 계산하는 방법이 필요합니다. 추적 (가장 최근에 마지막으로 호출) : 파일 "C : \ Users \ Desktop \ lab8.py"16 행 메인 ( )의 "C : \ Users \ Desktop \ lab8.py"파일 a = str.count ('x') + str.count ('X') 파일 유형 C : \ Users \ Desktop \ lab8.py TypeError : count) 적어도 하나의 인수 (주어진 0) – user3317056

+0

업데이트 된 답변을 참조하십시오. – piokuc

0

당신은 당신이 @piokuc의 말씀 완료 후 i.count으로 str.count를 교체해야합니다.

문자열에 str이 아닌 문자열이 포함되어 있기 때문입니다.

관련 문제