본문 바로가기
Data/[SeSAC 성동1기 전Z전능 데이터 분석가]

[성동1기 전Z전능 데이터 분석가] Day 31

by MIN_JOON 2023. 11. 27.
  • Python 조건문: 참과 거짓을 판단하는 문장
    • 주어진 조건을 판단한 후 그 상황에 맞게 처리해야할 경우에 조건을 판단하여 해당 조건에 맞는 상황을 수행하는데 사용된다.
  • IF 조건문 : if문을 만들 대 문장을 들여쓰는 것에 주의하고 콜론(:)을 잊지 말아야 한다.
    • if문의 기본 구조
if 조건문:
		수행할 문장1
		.......
else:
		수행할 문장 A
		........
  • IF문의 연산자
    • 비교 연산자: > , < , >= , <= , == , !=
    • 그 외의 연산자: or, and, not, in, not in
#3000원 이상의 돈을 가지고 있거나 카드를 가지고 있으면 택시를 타고 그렇지 않으면 걸어가는 조건문을 만들어보세요.
money=2500
card=True
if money >= 3000 or card:
    print("택시를 타고 가라")
else:
    print("걸어가라")
#가방에 돈이 있으면 택시를 타고 없으면 걸어가는 조건문을 만들어보세요
bag = ['card','money','book']

if 'money' or 'card' in bag:
    print("택시를 타고 가라")
else:
    print("걸어가라")

 

  • elif문: 다양한 조건을 판단한다.(이전 조건이 거짓일 때 수행된다.)
#score에 따라 학점을 출력하는 코드를 작성해 보세요.
# 81~100:A,61~80:B,41~60:C,21~40:D,0~20:E

score = 78

if score > 80:
    print("A")
elif score > 60:
    print("B")
elif score > 40:
    print("C")
elif score >20:
    print("D")
else:
    print("E")

 

  • 조건부 표현식: 조건문을 간단히 쓰기 위함
    • 변수 = 조건문이_참인_경우의_값 if 조건문 else 조건문이_거짓인_경우의_값
    • 조건문에서 아무일도 하지 않게 하려면: pass
#다음 코드를 조건부 표현식을 표현해보세요
# if score>= 60:
#     message = "success"
# else:
#     message = "failure"
# print(message)
score = 55
message = "success" if score>= 60 else "failure"
print(message)
pocket =['cellphone','money']
if 'money' in pocket:
    pass
else:
    print('카드를 꺼내라')
  • while 반복문:조건이 참인 동안 while문 아래의 문장이 반복해서 수행된다.
  • break: 강제로 while 문에서 빠져나가고 싶을 때 사용한다.
#커피의 가격이 300원인 자판기에 커피가 10잔이 있다. 300원을 넣으면 커피를 주고, 300원보다 더 많이 넣으면 거스름돈과 함께 커피를 주고, 300원보다 덜 넣으면 돈을 다시 돌려주고 커피를 주지 않는다.
#사용자에게 돈을 받아 커피가 다 떨어질 때까지 커피를 판매하는 자판기 코드를 작성해보자.

coffee = 10
while True:
    money = int(input("돈을 넣어 주세요 : "))
    print("%d를 받았습니다." % money)
    if money > 300:
        coffee = coffee-1
        print("남은 커피의 양은 {0}개입니다. 잔돈은 {1}원입니다.".format(coffee,money-300))
    elif money == 300:
        coffee = coffee-1
        print("남은 커피의 양은 %d개입니다." %coffee)
    else:
        print("%d원을 돌려드립니다." %money)
    if coffee == 0:
            print("커피가 다 떨어졌습니다. 판매를 중지합니다.")
            break
  • countinue: while문을 빠져나가지 않고 조건문의 맨 처음으로 돌아가고 싶은 경우, continue문을 사용
#1부터 10까지의 숫자 중에서 홀수만 출력하려면?
a = 0
while a< 10:
    a = a+1
    if a % 2 ==0: continue
    print(a)
  • for 반복문: 리스트나 튜플, 문자열의 첫 번째 요소부터 마지막 요소까지 차례로 변수에 대입되어 조건을 수행
  • range()함수: 숫자 리스트를 자동으로 만들어주며for 문과 함께 자주 쓰인다.
#60점 이상인 사람에게는 축하 메시지를 보내고 나머지 사람에게는 아무런 메시지도 전하지 않으려면?
mark = [90,25,67,45,80]
number = 0
for i in marks:
    number = number + 1
    if i<60:
        continue
    print("%d번 학생 축하합니다. 합격입니다."%number)
#앞서 작성한 코드를 range함수를 통해 바꿔보면
for number in range(len(marks)):
    if marks[number] < 60:
        continue
    print("%d번 학생 축하합니다. 합격입니다."%(number+1))
  • 리스트 컴프리헨션(List Comprehension): 리스트 안에 for문을 포함한다.
    • [표현식 for 항목 in 반복_가능_객체 if 조건문]
#리스트 컴프리헨션을 사용하여 구구단의 모든 결과를 아래와 같이 차례대로 'result'리스트에 담아본다면?
result = [i*j for i in range(1,10) for j in range(1,10)]
print(result)