유튜브 '나도코딩'채널의 파이썬 강좌를 토대로 정리한 내용입니다.
입력
weather = input("오늘 날씨는 어떄요? ") if weather == "비" or weather == "눈": print("우산을 챙기세요") elif weather == "미세먼지": print("마스크를 챙기세요") else: print("준비물은 필요 없어요")
출력을 실행하면 터미널 창에 오늘 날씨는 어때요? 가 출력되고 weather에 정의된 값을 입력하면 조건적으로 값이 출력된다.
출력
오늘 날씨는 어때요? 비비를 입력하면우산을 챙기세요출력
오늘 날씨는 어때요? 눈눈을 입력하면우산을 챙기세요출력
오늘 날씨는 어때요? 미세먼지미세먼지를 입력하면마스크를 챙기세요출력
오늘 날씨는 어때요?공백 상태라면준비물은 필요 없어요출력
예시 한개 더를 살펴 보자!
입력
temp = int(input("오늘 기온은 어떄요? ")) if 30 <= temp: print("너무 더워요 나가지 마세요") elif 10 <= temp and temp < 30: print("괜찮은 날씨에요") elif 0 <= temp and temp < 10: print("추워요 외투를 챙기세요") else: print("너무 추워요 나가지 마세요")
디버깅을 실행하면 터미널 창에 오늘 기온은 어때요? 가 출력되고 temp에 정의된 값을 입력하면 조건적으로 값이 출력된다.
출력
오늘 기온은 어때요? 4040을 입력하면너무 더워요 나가지 마세요출력
오늘 기온은 어때요? 2510~29도 사이의 값을 입력하면괜찮은 날씨에요출력
오늘 기온은 어때요? 50~9도 사이의 값을 입력하면추워요 외투를 챙기세요출력
오늘 기온은 어때요?공백이나 -정수값을 입력하면너무 추워요 나가지 마세요출력
for 변수 in 리스트(또는 튜플, 문자열): 수행할 문장1 수행할 문장2 ...
for문의 기본 구조이다. 리스트나 튜플, 문자열의 첫 번째 요소부터 마지막 요소까지 차례로 변수에 대입되어 수행할 문장이 실행된다.
입력
print("대기번호: 0") print("대기번호: 1") print("대기번호: 2") print("대기번호: 3") print("대기번호: 4")출력
대기번호: 0 대기번호: 1 대기번호: 2 대기번호: 3 대기번호: 4
대기번호를 출력할 때 하나씩 설정해줘야하는 것을 for in 문으로 간단하게 처리할 수 있다 .예시를 살펴보자
입력
for waiting_no in [0, 1, 2, 3, 4]: print("대기번호 : {0}".format(waiting_no))출력
대기번호 : 0 대기번호 : 1 대기번호 : 2 대기번호 : 3 대기번호 : 4
for in문으로 쉽게 출력할 수 있다. 하지만 리스트에 [0, 1, 2, 3, 4, 5]처럼 숫자가 작을 때는 직접 입력이 가능하지만 많아진다면 range로 쉽게 설정할 수 있다.
입력
for waiting_no in range(0, 5): print("대기번호 : {0}".format(waiting_no))출력
대기번호 : 0 대기번호 : 1 대기번호 : 2 대기번호 : 3 대기번호 : 4
range(0, 5)는 0~5직전까지의 값을 출력한다.
마지막으로 다른 예시를 살펴보자.
입력
starbucks = ["아이언맨", "토르", "캡틴"] for customer in starbucks: print("{0}, 커피가 준비되었습니다.".format(customer))출력
아이언맨, 커피가 준비되었습니다. 토르, 커피가 준비되었습니다. 캡틴, 커피가 준비되었습니다.
입력
customer = "토르" index = 5 while index >= 1: print("{0}, 커피가 준비 되었습니다. {1}번 남았어요.". format(customer, index)) index -= 1 if index == 0: print("커피는 폐기처분 되었습니다.")출력
토르, 커피가 준비 되었습니다. 5번 남았어요. 토르, 커피가 준비 되었습니다. 4번 남았어요. 토르, 커피가 준비 되었습니다. 3번 남았어요. 토르, 커피가 준비 되었습니다. 2번 남았어요. 토르, 커피가 준비 되었습니다. 1번 남았어요. 커피는 폐기처분 되었습니다.
index = 5으로 설정하고 index >= 1 조건에서 index -= 1 1씩 줄여 갔을 때 index == 0 이 될 때까지 반복하여 문장을 출력한다.
입력
customer = "아이언맨" index = 1 while True: print("{0}, 커피가 준비되었습니다. {1}회 호출".format(customer, index)) index += 1출력
아이언맨, 커피가 준비되었습니다. 1회 호출 아이언맨, 커피가 준비되었습니다. 2회 호출 아이언맨, 커피가 준비되었습니다. 3회 호출 아이언맨, 커피가 준비되었습니다. 4회 호출 아이언맨, 커피가 준비되었습니다. 5회 호출 ... ... ... ... 아이언맨, 커피가 준비되었습니다. 5656회 호출 아이언맨, 커피가 준비되었습니다. 5657회 호출 아이언맨, 커피가 준비되었습니다. 5658회 호출 아이언맨, 커피가 준비되었습니다. 5659회 호출 아이언맨, 커피가 준비되었습니다. 5660회 호출 ... ... ... 아이언맨, 커피가 준비되었습니다. n회 호출
index = 1로 설정하고 index += 1 증가 시킬 시 무한대로 반복한다. 다음 예시를 한번 살펴보자.
입력
customer = "토르" person = "unknown" while person != customer: print("{0}님, 커피가 준비되었습니다.".format(customer)) person = input("이름이 어떻게 되세요? ")출력
토르님, 커피가 준비되었습니다. 이름이 어떻게 되세요?
이름이 어떻게 되세요? 토르 가 입력되기 전까지 무한대로 반복한다.
입력
for student in range(1, 11): if student in absent: continue print("{0}번, 책 읽어봐".format(student))출력
1번, 책 읽어봐 3번, 책 읽어봐 4번, 책 읽어봐 6번, 책 읽어봐 7번, 책 읽어봐 8번, 책 읽어봐 9번, 책 읽어봐 10번, 책 읽어봐
absent = [2, 5]에 포함된 2번과 5번을 건너띄고 계속 실행한다. 이 예시에 break를 추가하여 살펴보자.
입력
absent = [2, 5] no_book = [7] for student in range(1, 11): if student in absent: continue elif student in no_book: print("오늘 수업 여기까지, {0}번은 교무실로 따라와".format(student)) break print("{0}, 책을 읽어봐".format(student))출력
1, 책을 읽어봐 3, 책을 읽어봐 4, 책을 읽어봐 6, 책을 읽어봐 오늘 수업 여기까지, 7번은 교무실로 따라와
10번까지 계속 출력되어야 하지만, 7번에서 break를 적용하여 구문을 끝낸다.
student = [1, 2, 3, 4, 5]
print(student)
student = [i+100 for i in student]
print(student)
student = ["iron man", "thor", "captin", "hulk"]
student = [len(i) for i in student]
print(student)
student = ["iron man", "thor", "captin", "hulk"]
student = [i.upper() for i in student]
print(student)