Inflearn brand logo image
Inflearn brand logo image
채널톡 아이콘

인프런 커뮤니티 질문&답변

박현서님의 프로필 이미지

작성한 질문수 3

(2025) 일주일만에 합격하는 정보처리기사 실기

비교연산자와 반복문+조건문 문제 풀이 (v2)

파이썬 if문 질문

해결된 질문

작성

·

46

·

수정됨

0

안녕하세요.

제가 예제 볼 때 온라인 컴파일러 사이트로

직접 작성해보면서 공부를 하는 중인데요

파이썬 if문 lst 예제를 그대로

사이트에 입력하면

=========================

lst = [1, 2, 3]

if lst:

  print("리스트는 비어있지 않습니다.")

  else:

   print("비어있지 않습니다.")

=====================

else가 예제처럼 if와 같은 열에 있지 않게 되고, 에러가 뜨더라구요.

저기서 else문 지우면

"리스트는 비어있지 않습니다." 정상으로 출력 되구요.

혹시 문법은 문제 없는데 파이썬이 버전마다 다른지 궁금합니다

https://www.tutorialspoint.com/online-programming-compilers.htm

사이트는 여기 이용 중입니다!

답변 3

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

else는 if가 맞지 않을 때 동작해야하는 구문입니다.

인덴트(들여쓰기)가 맞지 않으면 잘못된 문법입니다.

 

둘이 하나의 쌍이므로 들여쓰기도 같은 레벨로 맞추셔야 합니다.

0

박현서님의 프로필 이미지
박현서
질문자

열 맞춰서 하니까 잘 되네요 감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 박현서님.

파이썬의 if-else 문 구조에 대해 질문해주셨군요. 파이썬의 if 문과 else 문은 반드시 올바른 들여쓰기가 유지되어야 정상적으로 작동합니다. 보통 파이썬은 들여쓰기를 통해 블록 구조를 식별하므로, 들여쓰기가 맞지 않으면 문법 오류가 발생할 수 있습니다.

주요 사항:

  1. 들여쓰기: 파이썬에서는 한 블록 안에 있는 if 문과 else 문이 같은 수준의 들여쓰기를 가져야 합니다. 그 들여쓰기가 올바르지 않으면, IndentationError가 발생합니다. 보통 스페이스 4칸을 통해 들여쓰기를 통일하는 것이 관례입니다.

  2. 테스트 환경: 컴파일러와 인터프리터의 환경이 다르거나 설정이 달라 발생할 수 있는 문제일 수 있습니다. 특정 온라인 컴파일러가 특정 버전이나 설정을 가지고 있다면, 그에 맞춰서 코드를 작성해야 할 때도 있습니다.

아래는 올바른 파이썬 if-else 문 예제입니다:

lst = [1, 2, 3]

if lst:
    print("리스트는 비어있지 않습니다.")
else:
    print("비어있습니다.")

위 예제에서 ifelse 문 모두 두 칸의 들여쓰기를 맞춰주어야 합니다. 각 블록의 내용도 동일한 수준의 들여쓰기를 가진 상태에서 작성해야 합니다.

추가적인 정보를 얻고 싶으시거나, 동일한 문제에 대해 고민하고 계신 다른 학생들의 사례를 참고하시려면 아래 링크들을 확인해보시면 좋을 것 같습니다:

기존 강의에서 다루었을지도 모르니, 부담 없이 강의 관련 질의응답을 참고해보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.