파이썬 - 조건문 if

김소희·2024년 6월 13일

파이썬

목록 보기
2/17

파이썬 기본 변수 선언


x = 42
print(x)
# 출력값은 42

변수 x를 선언하여 42라는 값을 x의 공간에 넣는다.
자바와 다르게 데이터타입 필요X, 맨 끝에 ;(세미콜론) 필요 X

IndentationError

에러 메시지: "IndentationError: unexpected indent" 파이썬에서의 인덴테이션 에러는 코드의 들여쓰기가 잘못되어 발생하는 에러입니다. 이러한 에러는 주로 프로그램의 가독성과 일관성을 유지하기 위해 사용되는 파이썬의 들여쓰기 규칙에 어긋나는 경우에 발생합니다.

인덴테이션 에러가 발생하는 가장 일반적인 이유는 코드 블록을 표현하는데 사용되는 들여쓰기 공백이 일치하지 않는 경우입니다. 파이썬은 다른 프로그래밍 언어와는 달리 들여쓰기를 문법적으로 중요한 요소로 사용하기 때문에 정확한 들여쓰기를 유지해야 합니다.

File "example.py", line 4
    print("Hello, world!")
    ^
IndentationError: unexpected indent

에러를 해결하기 위해서 한 방법?

1. 에러원인 파악하기
인덴테이션 에러가 발생할 때 첫 번째로 해야 할 일은 에러 메시지를 확인하고 원인을 파악하는 것입니다. 에러 메시지에서는 어느 줄에서 오류가 발생했는지와 어떤 종류의 인덴테이션 에러인지를 알려줍니다.

2. 들여쓰기 공백 확인하기
파이썬에서는 일반적으로 공백 문자 4개 또는 탭 문자 1개를 사용하여 한 단계의 들여쓰기를 표현합니다. 파이썬은 공백 문자와 탭 문자를 혼용하여 들여쓰기를 사용할 수 있지만, 일관성 있는 스타일을 유지하는 것이 좋습니다.

3. 트레이스백 오류 확인하기
파이썬에서는 인덴테이션 에러가 발생한 줄 번호와 함께 트레이스백(traceback) 오류 메시지를 제공합니다. 이 메시지를 통해 오류가 발생한 코드 블록을 파악할 수 있습니다.

4. 에러 수정하기
인덴테이션 에러를 수정하기 위해서는 들여쓰기 공백을 일치시키거나, 일관된 들여쓰기 스타일을 사용해야 합니다.

format 함수?

문자열 포매팅이란 문자열을 편하게 작성하기 위해 사용하는 함수
자바 출력문 (%d, %n, %f, %c, %s, %b)와 비슷한 개념

format 함수는 중괄호 {, } 안에 포매팅을 지정하고 format 함수의 인자로 값들을 넣습니다.

기본구조

{인덱스0}, {인덱스1}'.format(값0, 값1)

# 직접 대입하기
s1 = 'name : {0}'.format('BlockDMask')
print(s1)

# 변수로 대입 하기
age = 55s2 = 'age : {0}'.format(age)
print(s2)

# 이름으로 대입하기
s3 = 'number : {num}, gender : {gen}'.format(num=1234, gen='남')
print(s3)

<출력문 결과>
name : BlockDMask
age : 55
number : 1234, gender :# 인덱스를 입력하지 않으면?
s4 = 'name : {}, city : {}'.format('BlockDMask', 'seoul')
print(s4)

# 인덱스 순서가 바뀌면?
s5 = 'song1 : {1}, song2 : {0}'.format('nunu nana', 'ice cream')
print(s5)

# 인덱스를 중복해서 입력하면?
s6 = 'test1 : {0}, test2 : {1}, test3 : {0}'.format('인덱스0','인덱스1')
print(s6)

<출력문 결과>
name : BlockDMask, city : seoul
song1 : nunu nana, song2 : ice cream
test1 : 인덱스0, test2 : 인덱스1, test3 : 인덱스0

if 조건문

조건을 만족할 때(true)에 결과값을 출력한다
파이썬의 조건문은 자바와 약간 다르다

age = 19
if age < 20:
  print("미성년")
  
< if문 구조 >
if 조건:
	출력문(결과값)
    
#들여쓰기를 해야 조건문 안에 코드가 들어간 것으로 표현
#중괄호로 if문을 감싸지 않기때문에 들여쓰기로 출력문(결과)이 if문 안에 포함된 것으로 표현이 된다

<if문 구조2>
if 조건 :
	출력문(결과값)
elif 조건 :
	출력문(결과값)
else :
	출력문(결과값)

# 자바와 다르게 else if > elif로 표기
# 기본적인 표기법만 다르고 기본 구조는 전부 동일
# elif : if문을 한덩어리로 만들기 위해 존재
# else : 그외 모든 조건을 충족하기 위해 존재 (조건 표기 불필요)

< if문 예시 >
# 만약 성적이 90 이상이고 출석률이 80% 이상인 경우에만 A,
# 성적 : 80 이상 B
# 성적 : 70 이상 C
# 성적 : 60 이상 D
# 그 밑 : F
score = 60 # 이 변수는 성적
attendance_rate = 80 # 이 변수는 출석률

# 출력 : 출석에 대한 값은 바꾸지 않아도됩니다. score 값만 바꿔보면서 원하는 등급이 나오는지 확인.
if score >= 90 and attendance_rate >= 80:
  grade = "A"
elif score >= 80:
   grade = "B"
elif score >= 70:
   grade = "C"
elif score >= 60:
   grade = "D"
else:
   grade = "F"
   
print("내 성적 : ", grade)

# 변수에 값을 넣음으로써 if결과에 굳이 출력문을 다시 적을 필요가 없음

0개의 댓글