안녕하세요
27년차 진로탐색꾼 조녁입니다!!
파이썬 설치 방법은 아래 글 참고해주세요! (주피터 노트북 환경 + 구글 클라우드 사용이 가능한 Colab 환경 추천드립니다.)
파이썬에 대한 기초적인 내용이지만 기억하면 좋을 것들이니 가볍게 한 번 봐주세요~ !
중간중간 작성하는 코드는 사진으로 첨부하였으니 코드 필요하신 분들은 아래 깃허브에서 Colab 노트북
가져다 쓰시기 바랍니다!
gist.github.com/jonhyuk0922/7e6a4b92bbb236824cd402de00a0f06a
*궁금하신 내용은 댓글에 질문 남겨주세요!
파이썬 기초 3강 내용
1. if문 - 조건문
2. for문 - 반복문
3. while문 - 반복문
4. continue, break
5. 한줄 for문
6 cocoa택시 매칭방법
1. if문 - 조건문
-> 분기처리 , 즉 상황에 따라 다른 코드를 적용시켜주는 코드를 작성한다.
예시) 날씨를 물으면 날씨에 따라 다른 대답을 해주도록 코드 작성
weather = input("시리야, 날씨 알려줘")
if weather == "눈" or weather == "비":
print("우산을 챙겨주세요.")
elif weather == "미세먼지":
print("마스크를 준비하세요.")
else:
print("준비물 필요 없습니다.")
그러면 아래와 같이 오늘의 날씨를 물어봅니다. 이 때, 제가 입력창에 "눈"이라고 입력해주면
아래와 같이 "우산을 챙기세요" 라고 답변해주는 걸 볼 수 있죠?! 한 번 해보세요!!
기온에 대해서도 아래와 같이 코드를 작성하고 입력해보시면 답변을 출력하는 걸 볼 수 있습니다.
git_hub 코드에 있으니 연습해보세요~!
temp = input("시리야, 기온은 어때?")
if temp <= 0:
print("집이 최고에요.")
elif 0 < temp <= 10:
print("외투를 꼭 챙겨가세요.")
elif 10 < temp <=20:
print("얇은 겉옷이면 될거같아요.")
else:
print("여름이 왔네요.")
2. for문 - 반복문
-> 반복해서 같은 행동을 실행해야할 때 사용한다.
예시) 대기번호 출력을 연속으로 해야한다.
for waiting_no in [0,1,2,3,4]:
print(f"대기번호: {waiting_no}")
만약 대기인원이 많다면 [0,1,2,3,4] 이 리스트 부분을 더 늘리면 되겠죠?!
다음으로 카페에 손님이 찾아왔을 때 손님들을 순서대로 호명해주는 시스템을 만들어볼게요.
우선 스타벅스에 들어온 손님들을 순서대로 리스트형식으로 만들어 할당한 후, for문을 통해 print 문을 돌리면 아래와 같이 출력됩니다.
(print문은 1강, list 는 2강 참조)
starbucks = ["아이언맨","토르","아이엠 그루트"]
for customer in starbucks:
print(f"{customer}, 커피 나왔습니다.")
3. while문 - 반복문
예시) 스타벅스에서 , 5번이상불러도 오지 않으면 버리는 정책을 수립
아래코드를 보면 우선 고객을 할당하고 ,index라는 걸 정의해줍니다. 여기서는 몇번까지 부를 지를 의미하고 있습니다.
while문은 옆에 'index>=1:' 이라는 조건을 줌으로써 해당 조건이 만족하지 않을떄까지 계속 반복합니다.
그 결과, 토르라는 고객을 다섯번 불러도 오지 않자 커피를 폐기처분하는 출력을 볼 수 있습니다.
customer = "토르"
cnt = 5
while cnt >= 1:
print(f"{customer}님, 커피 준비되었습니다. {cnt}번 남았습니다")
cnt -= 1
if cnt ==0:
print("커피는 폐기처분 되었습니다.")
예시) 스타벅스에서 스마트오더한 고객의 이름을 확인하고, 이름이 맞을 때만 커피를 제공해준다.
customer = "토르"
person = "unknown"
while person != customer:
print(f"{customer}, 커피가 준비되었습니다.")
person = input("성함이 어떻게 되시나요?")
4. continue, break - 반복문 내에서 사용
예시) 출석번호 기준으로 책읽을 친구 지명
(단, 결석인 학생은 pass하고 책 없는 친구는 교무실행..)
실행해보면 아래와 같이 continue로 pass하고 break과 함께 for문이 끝나는 것을 볼 수 있습니다.
absent = [3,6] #결석생
no_book =[8] #책 없는 학생
for student in range(1,11): #1,2,3,4,5,6,7,8,9,10
if student in absent:
continue
elif student in no_book:
print(f"후.. 오늘 수업끝 {student}는 교무실로")
break
print(f"{student}가 책을 읽어라")
5. 한줄 for문
예시1) 출석번호가 1 2 3 4, 앞에 100을 붙이기로함 -> 101 102 103 104 ..
한줄 for문을 이용할때는 아래와 같이 더 효율적으로 코드를 작성할 수 있습니다.
#출석번호가 1 2 3 4, 앞에 100을 붙이기로함 -> 101 102 103 104 ..
students = [1,2,3,4,5]
students = [i+100 for i in students]
print(students)
예시2) 학생 이름을 다 대문자로 변환(or 학생 이름을 길이로 변환)
아래는 학생이름을 대문자로 변환한 코드의 출력값입니다. 만약 학생이름을 길이로 변환하고 싶으시다면 주석처리된 코드를 입력해보세요!
#학생 이름을 길이로 변환
students = ["Iron man", "Thor", "I am groot"]
#students = [len(i) for i in students]
#print(students)
students = [i.upper() for i in students]
print(students)
6. Quiz : cocoa택시 매칭방법
스스로 풀어보신 후 아래로 가시길 추천드립니다 ㅎㅎ
위의 문제를 살펴보면, 매칭할 때 조건이 두가지 있습니다.
첫번째 조건에 대해서는 randrange(5,51) 함수를 써서 아래와 같이 time 변수에 할당해줄 수 있다.
두번째 조건은 소요시간 5~15분 승객만 탑승시키므로 "if time <=15: , else:"를 기준으로 나눠준다.
나머지는 출력문 예제를 참고하여 print문을 만들면 아래와 같다.
정답코드
from random import *
cnt = 0
for i in range(1,51):
time = randrange(5,51)
if time <= 15:
print(f"[O] {i}번째 손님 (소요시간 : {time}분")
cnt +=1
else:
print(f"[ ] {i}번째 손님 (소요시간 : {time}분")
print(f"총 탑승 승객 : {cnt}분")
마지막에 쉬운 퀴즈를 같이 풀어봤는데
카카오 택시는 아마 조건에 "카카오 제휴택시를 먼저 배치 , 유료 콜 우선 배치" 같은 것들이 있지 않을까 싶다 !
택시는 역시 티맵택시다..
*본 포스팅은 유튜브 '나도코딩' 강의를 듣고 작성하였습니다.
특별히 긴 강의를 인프런이라는 사이트에서 파트별로 나눠서 제공해줘서 손쉽게 접할 수 있었습니다. 아래 링크 첨부하겠습니다.
참고자료
'프로그래밍 공부 > Python' 카테고리의 다른 글
[파이썬 기초 5강] 입출력(표준입출력, 다양한 출력포맷, 파일입출력, pickle, with) + 업무자동화_ 보고서 50개 만들기 (0) | 2021.03.15 |
---|---|
[파이썬 기초 4강] 함수(전달값과 반환값, 기본값 ,가변인자, 지역변수와 전역변수) + 성별 적정체중 예측 (0) | 2021.03.11 |
[Pycharm] Tensorflow dev 응시하기 위한 설정 (0) | 2021.02.09 |
[파이썬 기초 2강] 자료구조(list, dictionary, tuple) + 쿠폰 당첨자 발표 (0) | 2021.02.08 |
[Pycharm] 설치 및 가상환경 설정 (0) | 2021.01.29 |