해결된 질문
작성
·
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 인턴입니다. 박현서님.
파이썬의 if-else
문 구조에 대해 질문해주셨군요. 파이썬의 if
문과 else
문은 반드시 올바른 들여쓰기가 유지되어야 정상적으로 작동합니다. 보통 파이썬은 들여쓰기를 통해 블록 구조를 식별하므로, 들여쓰기가 맞지 않으면 문법 오류가 발생할 수 있습니다.
들여쓰기: 파이썬에서는 한 블록 안에 있는 if
문과 else
문이 같은 수준의 들여쓰기를 가져야 합니다. 그 들여쓰기가 올바르지 않으면, IndentationError
가 발생합니다. 보통 스페이스 4칸을 통해 들여쓰기를 통일하는 것이 관례입니다.
테스트 환경: 컴파일러와 인터프리터의 환경이 다르거나 설정이 달라 발생할 수 있는 문제일 수 있습니다. 특정 온라인 컴파일러가 특정 버전이나 설정을 가지고 있다면, 그에 맞춰서 코드를 작성해야 할 때도 있습니다.
아래는 올바른 파이썬 if-else
문 예제입니다:
lst = [1, 2, 3]
if lst:
print("리스트는 비어있지 않습니다.")
else:
print("비어있습니다.")
위 예제에서 if
와 else
문 모두 두 칸의 들여쓰기를 맞춰주어야 합니다. 각 블록의 내용도 동일한 수준의 들여쓰기를 가진 상태에서 작성해야 합니다.
추가적인 정보를 얻고 싶으시거나, 동일한 문제에 대해 고민하고 계신 다른 학생들의 사례를 참고하시려면 아래 링크들을 확인해보시면 좋을 것 같습니다:
기존 강의에서 다루었을지도 모르니, 부담 없이 강의 관련 질의응답을 참고해보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.