본문 바로가기
Python/네이버 부스트코스 AI BASIC 코칭스터디

[ AI 코칭스터디 ] 1주차 학습 ( Conditionals and Loops )

by 2CHAE._.EUN 2022. 1. 19.

[ Conditionals and Loops ]

 

is / is not

 

is와 is not은 변수의 자료형과 값, 메모리 주소까지 모두 일치하는지 비교한다.

 

a = [1,2,3,4,5]
b = a[:] 
# a와 b는 같은 리스트를 가리키는 것처럼 보이지만 서로 다른 메모리 주소를 가지고 있음
# 인덱스 값 각각을 복사해서 새로운 공간을 만든다. 

print( a is b ) # False

c = a # a와 c는 같은 리스트를 가리키고 있음
print( a is c ) # True

 

is는 메모리 주소를 기억해서 비교하는 연산자이고 파이썬에서 -5 ~ 256 까지는 같은 메모리 주소를 사용하기 때문에

이들 사이의 값들의 is 비교는 True 값이 나온다. 

 

 

삼항 연산자

 

value = int(input("숫자 입력해봐! : "))

is_even = "정답!" if value % 2 == 0 else "땡!"

print(is_even) # 정답!

 

if 조건문이 True라면 조건문 앞에 있는 값 출력, False 라면 else 뒤에 있는 값 출력

 

 

조건문에서의 파이썬 규칙

 

파이썬에서 조건문은 모든 if문을 순차적으로 실행한다. 

 

x = int(input("숫자 입력 : "))

if x < 10 :
    print('a')
elif x < 20 :
    print('b')
elif x < 40 :
    print('d')
elif x < 30 :
    print('c')
else :
    print('Done!')

 

x에 28을 할당해주면 결과값은 d가 나온다.

 

이미 조건을 x < 40에서 만족해버렸기 때문에 다음 블록은 신경쓰지 않는다.

x에 30 미만의 어떠한 값을 넣더라도  x < 30 조건은 절대 출력되지 않는다. 

 

 

all 함수

 

# all 함수 사용해보기

age = 25

print(all([ 20 <= age, age <= 26 ])) # True

 

*파이썬은 2개 이상의 조건을 한번에 표현할 때는 and를 사용하는 것이 좋다. 

 

 

반복문 예제

 

1. 구구단

 

number = int(input("구구단 몇단 출력해? : "))

for i in range(1,10) :
    print(f"{number} X {i} = {number * i}")

 

2. 반목문을 사용해서 문자열 거꾸로 출력하기

 

sentence = "I am 2CHAECHAE"
reverse_sen = ""

for char in sentence :
    reverse_sen = char + reverse_sen
    print(reverse_sen)

 

 

3. 숫자를 이진수로 나타내기

 

decimal = 78
result = ''

while( decimal > 0) :
    remainder = decimal % 2
    decimal = decimal // 2
    result = str(remainder) + result
    print(result)