2013-11-26 3 views
0

다른 구분 기호로 구분 된 파일을 기반으로 사전을 작성하려고합니다. 예를 들어 내가 파일 메신저 읽기는 다음과 같은 방법을 구조화, 내가 메신저 쉼표의 양 사이에 diffinterate하려고, 그래서 다른 일을 의미하는 여러 쉼표를 가질 수 있습니다 실증 목적파일 Inout 여러 개의 구분 기호 출력

g = "ENGL 1301,preprofessional,MATH 2413," 
if ","and "," in g : 
    print "yay" 
if "," and "," and "," in g: 
    print "nay" 

파일의 변수로 줄 필요 줄에. 위의 프로그램은 문자열에 3 쉼표가 있고 2가 아닌 "nay"만 인쇄하기를 원합니다. 위의 프로그램이 실패하여 "yay"와 "nay"를 모두 인쇄 할 수 있으므로 어떻게 수행 할 수 있습니까?

답변

1

str.count : 비어 있지 않은 문자열을 파이썬에서 True로 평가하기 때문에

g = "ENGL 1301,preprofessional,MATH 2413," 
commas = g.count(",") # I put this up here so it isn't called multiple times 
if commas == 2: 
    print "yay" 
elif commas == 3: # I used `elif` here since `commas` cannot equal 2 and 3 
    print "nay" 

또한, 현재 코드가 작동하지 않습니다. 그래서,이 :

if "," and "," in g : 
    print "yay" 
if "," and "," and "," in g: 
    print "nay" 

은 다음과 같이된다 :

if True and ("," in g): 
    print "yay" 
if True and True and ("," in g): 
    print "nay" 

당신이 추측 수 있듯이 것이다 항상 통과하는 경우 명령문의 각.

+0

깔끔한 작은 도구. 감사 –

관련 문제