2017-09-14 1 views
-1
import CSV 

file_name = input("PLease type in a file name including the extension e.g. .docx or .txt\nelse:") 
start = 0 
error = 0 
with open(file_name, newline='') as csvfile: 
    reader = csv.reader(csvfile, delimiter=' ', quotechar='|') 
    answer = input("Do you want all information to be displayed or only part of it?(A/P)") 
    answer = answer.upper() 
    print(answer) 

    if answer == "A" or "a": 
     All_Info() 
    elif answer == "P" or "p": 
     Part_Info() 
    else: 
     if error < 2: 
      error = error + 1 
      answer = input("Please only type in A or P") 

이 프로그램을 실행하고 csv 파일 이름을 입력 한 후 p 키를 누르면 엘프를 무시하고 if 문으로 바로갑니다. 제발 도와주세요!if/elif/else가 작동하지 않는 이유는 무엇입니까?

+0

에 충돌하는 경우에도이 처음 if 문을 사용하고 있으므로 귀하의 첫 번째 if, 그것은이 0이기 때문에 "a"는 true로 평가 (If answer equals "A" is true) or ("a" is true) 말을하고 전자, 당신은 단지'대답 == "A"'를 할 수 있습니다 : 그러면 괜찮아 질 것입니다 ... –

+0

@ Jean-FrançoisFabre 이걸 속임수 망치가 없습니까? –

+0

네, 질문에 pytho 3.x 태그 만 붙어 있습니다. 나는 파이썬으로 편집했다. 난 파이썬 3.x 태그에 대한 dupehammer 있었으면 좋겠어 !! –

답변

-2

elif answer == "P" or answer == "p"이어야하며 조건부에 두 개의 이 필요합니다.

/당신이 대문자로 변환하고 있기 때문에 "P"

+0

제안한 내용을 시도했지만이 오류 메시지가 계속 표시됩니다. Traceback (가장 최근에 마지막으로 호출) : FileAttributeError : 'builtin_function_or_method'객체에 'upper'속성이 없으면 "F :/Yr 11/CT/CSV/asdf.py"9 행의 에 answer.upper() == "A" –

관련 문제