TIL

2024-03-25 / 2

여연찌 2024. 3. 25. 22:52

조건문

: 파이썬에서는 어디까지 구문에 포함되는지를 들여쓰기로 구분한다

: 파이썬에서는 함수 ,클래스, 조건문(if), 반복문(for, while) 등의 코드 블록을 정의할때 ' : ' 콜론을 사용

: 콜론 이후에는 들여쓰기를 통해 코드 블록이 시작

 

* 들여쓰기: tab

   당겨쓰기: shift + tab

 

* 콜론(' : ") 의 사용

- 코드 블록 정의

- 슬라이싱 (a[1:4]) # 1부터 4까지

- 딕셔너리에서 키와 값 사이를 구분 ("age" : 30) # age 값 30

 

 

if 문

money = 3000
if money > 3800:
    print('택시를 타자!')
else:
    print('택시를 못타~')
    print('그럼 뭘타지?')
    
# 택시를 못타~
# 그럼 뭘타지?

money = 3000
if money > 3800:
    print('택시를 타자!')
elif money > 1200:
    print('버스를 타자!')
else:
    print('걸어가자!')
# 버스를 타자!

# money 가 3800원 보다 크다 '택시를 타자!'(if 조건 만족)

   그 외 '택시를 못타~' '그럼 뭘타지?'(else 조건 불만족)

# print 문을 추가함으로써 두가지 문구 출력 가능 

 

# money 가 3800원 보다 작다

   money 가 1200원 보다 크다 '버스를 타자!'(elif 조건 만족)

 

 

 

for 반복문(loop)
for 변수 in 객체:

     실행할 코드

 

* 객체에는 리스트(list), 튜플(tuple), 문자열(iterator) 등 순회가 가능한 웬만한 모든 데이터 타입

 

for 문을 사용하지 않고 출력하기

fruits = ['사과', '배', '감', '귤']
print('사과')
print('배')
print('감')
print('귤')
# 사과
# 배
# 감
# 귤

 

for 문 사용하여 출력하기

fruits = ['사과', '배', '감', '귤']
for fruit in fruits:
    print(fruit)
# 사과
# 배
# 감
# 귤

 

for 문과 if 문 사용

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for person in people:
    name = person['name']
    age = person['age']
    if age < 20:
         print(name, age)
# john 7
# smith 17

# people 을 반복할때마다 코드를 실행하여 person 에 저장

# if 조건문으로 나이가 20보다 큰 사람만 출력

 

 

enumerate() 함수

: 인덱스와 원소에 접근하며 루프 돌리기

fruits = ['사과', '배', '감', '귤','귤','수박']
for i, fruit in enumerate(fruits):
    print(i,fruit)
# 0 사과
# 1 배
# 2 감
# 3 귤
# 4 귤
# 5 수박

# 인덱스와 원소 각각 출력

# i 변수를 사용하지 않을 경우 (0, '사과') (1, '배') ... (5, '수박') 으로 출력

 

 

break 로 반복문 끝내기

fruits = ['사과', '배', '감', '귤','귤','수박','참외','감자','배','홍시','참외','오렌지']
for i, fruit in enumerate(fruits):
    print(i, fruit)
    if i == 4:
        break
# 0 사과
# 1 배
# 2 감
# 3 귤
# 4 귤

# i 가 4 일때 반복문 끝내기 

 

 

반복문의 여러가지 사용법

num_list = [1, 2, 3, 6]
for num in num_list:
    if num % 2 == 0:  # 짝수만 나오려면, 2로 나눴을때 나머지가 0이어야 한다.
        print(num)
# 2
# 6

count = 0
for num in num_list:
    if num % 2 == 0:
        count += 1   # 짝수일때, count=count + 1
print(count)
# 2

sum = 0
for num in num_list:
    sum += num  # 1+2+3+6, sum=sum+num
print(sum)
# 12

max = 0
for num in num_list:
    if max < num: 
        max = num # max 보다 num 이 크면 저장
print(max)
# 6

 

sum 이 0 이었고 num 이 1 이면 sum은 1

sum(0) = sum(0)+num(1)

sum(1) = sum(1)+num(2)

sum(3) = sum(3)+num(3)

sum(6) = sum(6)+num(6)

sum(12)

 

#

변수보다 크면 저장 

      

 

함수

: 반복적으로 사용하는 코드에 이름을 붙여놓은 것

: 긴코드를 짧게 축약할 때 사용

 

def hello():
    print('안녕!')
    print('좋은 날씨야')
hello()
# 안녕!
# 좋은 날씨야

# def 축약할이름():

      축약할코드1

 

def sum(a,b):
    return a+b
result = sum(1,2)
print(result)
# 3

# def 이름():

          return 반환값

def bus_rate(age):
    if age > 65:
        print('무료입니다')
    elif age > 20:
        print('성인입니다')
    else:
        print('청소년입니다')
bus_rate(15)
bus_rate(70)
bus_rate(30)
# 청소년입니다
# 무료입니다
# 성인입니다

# def 이름():

         if 조건문

 

 

 

 

int () 로 숫자형 바꾸기

def check_gender(pin):
    num = pin.split('-')[1][:1]  # '-' 로 나누어서 1번째에서 1번째로 시작하는 숫자
    if int(num) % 2 == 0: # 그 숫자가 2로 나누었을때 0이면 짝수(여성)
        print('여성')
    else:
        print('남성')
my_pin = "200101-3012345"
check_gender(my_pin)
# 남성

check_gender('150101-2012345')
# 여성

 

+ 알고리즘 순서

 

def check_gender(pin):
    print('...')  # 이렇게 시작


check_gender('150101-2012345')
check_gender('150101-3012345')
check_gender('150101-2012345')

 

def check_gender(pin):
    num = pin.split('-')[1][:1]  # pin 값을 '-' 로 나누어서 1번째에서 1번째로 시작하는 숫자(2,3,2)

    if int(num) % 2 == 0:  # 'num' 이 문자열 이기 때문에 int() 를 사용하여 숫자형으로 변환 후 계산
        print('여성')  # 그 숫자가 2로 나누었을때 0이면 짝수(여성)
    else:
        print('남성')

 

 

'TIL' 카테고리의 다른 글

2024-03-27  (0) 2024.03.27
2024-03-26  (0) 2024.03.26
2024-03-25  (0) 2024.03.25
2024-03-24 / 3  (1) 2024.03.24
2024-03-24 / 2  (1) 2024.03.24