파이썬 기초 문법 (제어문)

Yeong·2025년 10월 31일

파이썬 리스트, 딕셔너리 자료

중고차 = ['K5', 'white', 5000]
중고차2 = {'brand':'benz', 'model':'250d'}

print(중고차[1]) // white
print(중고차2['brand']) // benz
중고차2['brand'] = 'k5'
print(중고차2['brand']) // k5
문법용도예특징
[]리스트/배열 (순서 있는 데이터)['K5', 'white', 5000]인덱스로 접근
{}딕셔너리/객체 (키-값 데이터){'brand':'bmw', 'model':'520d'}키로 접근

✨ 즉슨,
[] → 위치로 꺼냄
{} → 이름으로 꺼냄

if문

if 조건식 : 
  실행할코드
  
------
  
if 조건문:
    수행할_문장1
    수행할_문장2
    ...
else:
    수행할_문장A
    수행할_문장B
    ...  

위와 같은 방식으로 동작한다.

재고량=10
message='주문가능!!'

if 재고량 == 10 : print(message) // 주문가능!!

if 재고량 < 0 : print(message)
else : print('@@@재고량이 없어요') // @@@재고량이 없어요


if 'brand' in 중고차2 : print(message + '있다있어~~')
if 'brand' in 중고차2 : print(중고차2['brand'])
if 'benz' in 중고차2.values(): print("benz 있다있어~ 🚗")


객체문 내에 있는 key와 value에 대한 if문을 작성할 시에
해당 변수명 내에 key값이 있는지 확인할 수 있으며,
value 가 있는지 확인하고자 할 때에는 .values를 통하여 확인한다.

.keys() → 키들 꺼내기
.values() → 값들 꺼내기
.items() → (키, 값) 쌍 꺼내기

print('중고차2.values:', 중고차2.values())
print('중고차2.keys():', 중고차2.keys())
print('중고차2.items()', 중고차2.items())

// 중고차2.values: dict_values(['benz', '520d'])
// 중고차2.keys(): dict_keys(['brand', 'model'])
// 중고차2.items() dict_items([('brand', 'benz'), ('model', '520d')])

아래는 자바스크립트 문법이다.

const 중고차2 = { brand: "bmw", model: "520d" };

console.log(Object.values(중고차2)); // ['bmw', '520d']

if (Object.values(중고차2).includes("bmw")) {
  console.log("bmw 있다!");
}

---
const car = { brand: "bmw", model: "520d" };

if (Object.values(car).includes("520d")) {
  console.log('bbbb')
}

if (Object.keys(car).includes("brand")) {
  console.log("브랜드있음");
}

참고로 조건식이 참일 때 여러 줄의 코드를 실행하고 싶으면 실행하고 싶은 모든 코드를 들여쓰며 두줄 세줄 네줄 계속 작성해준다.

if True:
    print("안녕")  # ← 앞에 공백 4칸 or Tab

들여쓰기를 하지않으면 에러가 남!!

in, not in

그리고 파이썬은 not in이라는 조건문이 있다.

>>> 1 in [1, 2, 3]
True
>>> 1 not in [1, 2, 3]
False

첫 번째 예는 ‘[1, 2, 3]이라는 리스트 안에 1이 있는가?’라는 조건문이다. 1은 [1, 2, 3] 안에 있으므로 참이 되어 True를 반환한다.
두 번째 예는 ‘[1, 2, 3] 리스트 안에 1이 없는가?’라는 조건문이다. 1은 [1, 2, 3] 안에 있으므로 거짓이 되어 False를 반환한다.

pass

조건문의 참, 거짓에 따라 실행할 행동을 정의할 때나 아무런 일도 하지 않도록 설정하고 싶을 때 사용한다.

주머니에 돈이 있으면 가만히 있고, 주머니에 돈이 없으면 카드를 꺼내라.

>>> pocket = ['paper', 'money', 'cellphone']
>>> if 'money' in pocket:
...     pass 
... else:
...     print("카드를 꺼내라")
...

pocket 리스트 안에 money 문자열이 있기 때문에 if 문 다음 문장인 pass가 수행되고 아무런 결괏값도 보여 주지 않는다.

다양한 조건을 판단하는 elif (다중 조건 판단)

주머니에 돈이 있으면 택시를 타고 가고, 주머니에 돈은 없지만 카드가 있으면 택시를 타고 가고, 돈도 없고 카드도 없으면 걸어가라.

위 문장을 보면 조건을 판단하는 부분이 두 군데 있다. 먼저 주머니에 돈이 있는지를 판단해야 하고 주머니에 돈이 없으면 다시 카드가 있는지 판단해야 한다.

if와 else만으로 위 문장을 표현하려면 다음과 같이 할 수 있다.

>>> pocket = ['paper', 'cellphone']
>>> card = True
>>> if 'money' in pocket:
...     print("택시를 타고가라")
... else:
...     if card:
...         print("택시를 타고가라")
...     else:
...         print("걸어가라")
...
택시를 타고가라
>>>

다중 조건 판단이 가능한 elif 를 사용해보자.

>>> pocket = ['paper', 'cellphone']
>>> card = True
>>> if 'money' in pocket:
...      print("택시를 타고가라")
... elif card: 
...      print("택시를 타고가라")
... else:
...      print("걸어가라")
...
택시를 타고가라

elif는 이전 조건문이 거짓일 때 수행된다

if 조건문:
    수행할_문장1 
    수행할_문장2
    ...
elif 조건문:
    수행할_문장1
    수행할_문장2
    ...
elif 조건문:
    수행할_문장1
    수행할_문장2
    ...
...
else:
   수행할_문장1
   수행할_문장2
   ... 

for문

for i in 반복할범위 : 
  반복해줄코드 
  
for i in range(0,10) : 
  print('BMW 있어요!')   

참고로 range 함수는 끝 숫자를 포함하지않는다.

데이터만 출력하겠다고 한다면 아래와 같이 작성하면된다.

중고차들 = ['K5', 'BMW', 'Tico'] 
for i in 중고차들: 
  print(i) 

그리고 구구단 구현은 아래와 같은데 안팎으로 반복문을 사용할 수 있다.

for dan in range(2,5) : // 2~4단
    for num in range(1,10) : //1~9
        print(dan*num)

0개의 댓글