-
Python 06일차 수업 정리_while, for, range, 이중 for문, 기타제어문Python 2024. 1. 31. 15:18
- 05일차 복습
- while
- for
- range()
- 이중 for문(중첩 for문)
- 기타제어문
- 05일차 복습
조건문이란 특정 조건의 만족 여부(결과)에 따라 실행하는 것
if문 if ~ else if ~ elif ~ else if 조건식 :
조건식이 참일 때 실행되는 문장if 조건식 :
조건식이 참일 때 실행되는 문장
else:
조건이 거짓일 때 실행되는 문장if 조건식1 :
조건식1이 참일 때 실행되는 문장
elif 조건식2 :
1이 거짓이고 2가참일 때 실행되는 문장
else:
위 조건들이 거짓일 때 실행되는 문장
- while
반복문 : while, for, range(), 이중 forans(중첩 for문), 기타제어문
while문은 특정 조건을 만족하는 동안 반복해서 실행.
while True : 무한 루프. 조건신의 결과가 참 일 동안 반복 실행.
while 조건식 :
(tab필수)반복할 문장
# 1) while 뒤에 조건식이 참인지 거짓인지 판별 # 2) 조건식이 참이라면 while문 안의 반복할 문장들 실행. 거짓미아면 반복문 종료 # 3) while문 안의 반복할 문장 한번쯤 실행 -> print("Hello python") # 반복할 문장 break # break문이란 반복분의 종료(즉시 탈출) print("while문 끝") #반복할 문장 아님!, while문 바깥의 문장
더보기Hello python
while문 끝
예제> 1시에 시작해서 7시가 되면 '알람이 울리는' 프로그램 만들기
# <풀이1> 무한 반복문 사용 time = 1 while True : if time < 7 : print(f"{time}시") time += 1 else: print(f"{time}시가 되었습니다 알람이 울립니다") break # 반복문 강제 종료 # <풀이2> while 조건식 사용 time = 1 while time < 7 : print(f"{time}시") time += 1 print(f"{time}시가 되었습니다. 알람이 울립니다")
더보기1시
2시
3시
4시
5시
6시
7시가 되었습니다 알람이 울립니다
예제>
# 1부터 10까지 입력받고 입력받은 숫자가 1 ~ 10 사이의 숫자라면 숫자 출력 반복문 탈출
# 그게 아니라면 1 ~ 10 사이의 숫자를 다시 입력해주세요 출력 다시 숫자 입력 받도록 하기while True : num = int(input("숫자 입력 : ")) # num 이라는 변수에 정수형 입력 받은 숫자 대입 if 0 < num <= 10 : # num 이 1 ~ 10 사이의 값이라면 print(f"num = {num}") # if문 안의 문장 출력 break # 반복문 탈출 else: # if 문 조건이 거짓이라면 print("잘못된 숫자입니다. 다시 입력하세요") #else 문 안의 문장 출력
더보기숫자 입력 : 60
잘못된 숫자입니다. 다시 입력하세요
숫자 입력 : 5
num = 5
- for
for문은 범위/횟수가 정해져 있는 동안 반복해서 실행.
for 변수명 in 집합:
(tab필수)반복할 문장
변수명 = 카운터 변수, 집합 = 문자열, 컬렉션(리스트, 튜플, 세트, 딕셔너리), range()
str1 = "안녕하세요" print(str1, type(str1)) # for 변수명 in 집합 : for i in str1 : print(i) for i in "hello pyyhon" : print(i, end=" ") print() # 줄바꿈 li1 = ['문자열', '문자', 1, 5.3, True] print(li1, type(li1)) for i in li1 : print(i, type(i)) tu1 = ("문자열들", "문자", 1, 5.3, True) #튜플의 패킹 print(tu1, type(tu1)) #튜플의 패킹 for i in tu1 : print(i, type(i)) set1 = {'봄', '여름', '가을', '겨울'} for i in set1 : print(i)
더보기안녕하세요 <class 'str'>
안 녕 하 세 요 h e l l o p y y h o n
['문자열', '문자', 1, 5.3, True] <class 'list'>
문자열 <class 'str'>
문자 <class 'str'>
1 <class 'int'>
5.3 <class 'float'>
True <class 'bool'>
('문자열들', '문자', 1, 5.3, True) <class 'tuple'>
문자열들 <class 'str'>
문자 <class 'str'>
1 <class 'int'>
5.3 <class 'float'>
True <class 'bool'>
여름 봄 가을 겨울
for과 튜플의 패킹 & 언패킹 사용하는 법
li2 = [(1, 2), (3, 4), (6, 6)] # 리스트 안에 튜플 print(li2, type(li2)) for i in li2: print(i, type(i)) # 튜플의 언패킹 for i,j in li2: print(f"i : {i}, j : {j}")
더보기[(1, 2), (3, 4), (6, 6)] <class 'list'>
(1, 2) <class 'tuple'>
(3, 4) <class 'tuple'>
(6, 6) <class 'tuple'>
i : 1, j : 2
i : 3, j : 4
i : 6, j : 6
- range()
range()란 내가 필요한 만큼 어디부터 어디까지 하면 만들어주는 기능을 가진 함수 == 연속된 정수형
range(시작값, 종료값, 스텝값) == 슬라이싱
ex) range( 1, 10, 2) => 1, 3, 5, 7, 9
range(시작값, 종료값) == range(2, 8) => 2 ~ 7
range(종료값) == range(7) => 0 ~ 6
종료값은 -1만큼 가져온다.
for과 range()
for i in range(시작값, 종료값, 스텝값):
i라는 변수에 시작값 부터 종료값(-1)까지 범위동안 스텝값 만큼 반복하며 증가하는 int값을 담는다.
for i in range(1, 20) : # 1 ~ 19 print(i, end=' ') print() #줄바꿈 for i in range(1, 30, 3) : print(i , end=" ") print() for i in range(5) : # "안녕!" 5번 출력 print("안녕!")
예제> 3단 구구단 만들기
# 3단 구구단 만들기 / 3은 변하지 않고 곱해지는 숫자는 1~9 # 단수 저장할 변수 선언 dan = 3 for i in range(1, 10) : print(f"{dan} x {i} = {dan*i}")
<실습> 틀렸었음
# <실습> # 1에서 10까지의 숫자 합 구하기 # for 문 사용 # 출력결과 "합 : 55" # 쓰앵님 답 # 1 ~ 10까지의 정수를 더한 값을 저장할 변수 선언 sum = 0 for i in range(1, 11): # print(i) sum += i # sum = sum + i # 0 + 1 #print(sum) print(f"합 : {sum}")
- 이중 for문(중첩 for문)
for문 안에 for문 : 하나의 for문 내에서 또 다른 for문을 사용
for 변수1 in 집합 :
for 변수2 in 집합 :
실행할 코드
# 이중 for문(중첩 for문) for i in range(3) : # 바깥 for 문 0 ~ 2 for j in range(3) : #안쪽 for 문 0~ 2 print(f"i : {i}, j , {j}")
이것으로 구구단 만들기도 가능
for i in range(2, 10): for j in range(1, 10): print(f"{i} x {j} = {i*j}") ''' 쓰앵님 답 # 바깥쪽 for문 단수표현 # 안쪽 for문 곱해주는 숫자 for dan in range(2, 10) : print(f"======{dan}단======") #단끼리 정리하여 표현 for i in range(1, 10): print(f"{dan} x {i} = {dan * i}") '''
- 기타제어문
break문 처리 흐름을 강제적으로 종료하고 그 블록에서 나가는 구문 continue문 블록 내의 처리를 건너뛰고 블록 앞부분 위치로 돌아가서 다음 처리를 계속하는 구문
바로 다음 순번의 loop(반복)를 실행/수행함 (ex. 369게임)pass문 실행할 코드가 딱히 없으면 다음 행동을 계속 진행하게 하는 기능 2024.01.31
'Python' 카테고리의 다른 글