inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

파일입출력

(06:15 - 07:24) else의 생략 문제

해결된 질문

194

수줍은질럿

작성한 질문수 2

2

선생님께서 작성하신 코드는

(1)

score_file=open("score.txt","r",encoding="utf8")
while True:
    line=score_file.readline()
    if not line:
        break
    print(line,end="")
score_file.close()

입니다. 하지만 제가 배우기로는 if를 쓰고 나면 else를 써주어야 한다고 배웠습니다. 그전 영상에서도 else를 항상 써주셨으니까요. 그런데 이번에는 별도의 else 없이 바로 (if와 같은 indent 깊이로) print를 넣으셨고, 이것은 오류없이 잘 실행됐습니다.

(2)

score_file=open("score.txt","r",encoding="utf8")
while True:
    line=score_file.readline()
    if not line:
        break
    else:
        print(line,end="")
score_file.close()

그래서, 제가 생각하기에 맞는 방식으로, (1)보다 조금 더 명령어들을 넣어서 해봤는데, 정상적으로 잘 작동합니다.

질문은, (1)과 (2)가 완전히 동일한 명령을 호출하는 것인지, 그러니까 (1)과 같이 else를 생략해도 문제가 되지 않는 것인지 궁금합니다.

python

답변 2

0

수줍은질럿

 감사합니다!

0

나도코딩

안녕하세요

위 예제에서는 if 만 있거나 if else 로 적거나 동일하게 동작합니다. 하지만 실제로 둘은 다릅니다. 마트에 장을 보러 갔을 때

if 만약 초코파이가 있으면:

   초코파이를 사와

오예스를 사와

이렇게 하면 초코파이가 있을땐 초코파이+오예스를, 없을땐 오예스만 사게 됩니다.

if 만약 초코파이가 있으면:

    초코파이를 사와

else:

    오예스를 사와

이렇게 하면 초코파이가 있을땐 초코파이만, 없을땐 오예스만 사게 됩니다.

중요한 개념이니 꼭 이해하고 넘어가세요 ^^

quiz 8 오류 문제

0

70

1

str() 작성 위치

0

51

1

아나콘다

0

61

1

윈도우 설치 도와주세요

0

74

1

std_weight함수에서weight만return가능한가요?

0

69

1

오른쪽위 실행버튼을 누르면 터미널에 에러가 뜨고 컨트롤+F5를 누르면 에러가 안뜹니다.

0

35

1

설치해서 시작하는데 문제가 있습니다.

0

70

1

함수 입력할 때 설명 툴팁 나오게 하려면 어떻게 하나요?

0

105

1

2장 환경설정 문의

0

74

1

스타크래프트 프로젝트

0

74

1

python 파일명.py 입력시 Python 출력

0

133

1

로드맵 질문있습니다!

0

85

2

오류

0

74

1

질문 있습니다.

0

76

1

블로그에 학습한 내용을 정리해도 괜찮을까요?

0

172

1

#퀴즈 3의 5번 질문

0

72

1

print("ㅋ"*5) 에 대한 결과가 도출되지 않습니다

0

81

1

가변인자의 위치가 중요한가요?

0

79

1

vscode옛날 버전 설치

0

221

1

글자색상이 선생님처럼 안나옵니다

0

186

1

슬프네

0

156

1

quiz 6번 관련 문의입니다.

0

129

1

퀴즈#3에 대해서 이렇게 작성해도 되나요?

0

194

1

피드백 부탁드립니다

0

93

1