-
파이썬 기초 : 조건문 , 반복문🐍 Python 2025. 1. 20. 11:31728x90
1. 기본 구조
if 문
조건이 참(True)일 때만 해당 코드 블록을 실행합니다.
if 조건식: 실행할 코드
if-else 문
조건이 참이면 if 블록을, 거짓이면 else 블록을 실행합니다.
if 조건식: 실행할 코드 else: 실행할 코드
if-elif-else 문여러 조건을 검사할 때 사용하며, 조건 중 하나만 만족하면 해당 블록이 실행됩니다.
if 조건식1: 실행할 코드1 elif 조건식2: 실행할 코드2 else: 실행할 코드3
2. 조건식
- 조건식은 True 또는 False로 평가되는 표현식입니다.
- 비교 연산자, 논리 연산자 등을 사용하여 작성할 수 있습니다.
비교 연산자
연산자 의미 예시 == 같다 x == y != 같지 않다 x != y > 크다 x > y < 작다 x < y >= 크거나 같다 x >= y <= 작거나 같다 x <= y 논리 연산자
연산자 의미 예시 and 모두 참이면 참 x > 0 and x < 10 or 하나라도 참이면 참 x < 0 or x > 10 not 반대값 not x > 0 (참 → 거짓)
3. 중첩 조건문
조건문 안에 또 다른 조건문을 넣어 복잡한 논리를 표현할 수 있습니다.
if 조건식1: if 조건식2: 실행할 코드 else: 실행할 코드 else: 실행할 코드
4. 예시
간단한 조건문
x = 10 if x > 5: print("x는 5보다 큽니다.") else: print("x는 5 이하입니다.")
여러 조건 검사
score = 85 if score >= 90: print("A 학점") elif score >= 80: print("B 학점") elif score >= 70: print("C 학점") else: print("F 학점")
중첩 조건문
x = 15 if x > 10: if x % 2 == 0: print("x는 10보다 크고 짝수입니다.") else: print("x는 10보다 크고 홀수입니다.") else: print("x는 10 이하입니다.")
파이썬의 조건문은 직관적이며 간결하게 작성할 수 있어서, 복잡한 논리도 쉽게 표현할 수 있습니다.
4. 문제 풀이
- 회원가입을 하려 합니다. 유저한테 이메일과 비밀번호를 입력받습니다.
- 유저한테 이메일을 입력받습니다. 이때 이메일주소 형식(@)이 잘못 되었으면, 다시 입력하세요 를 출력합니다.
- 이메일 주소가 잘 입력되었으면, 이제 비밀번호를 두번 입력받습니다.
- 만약 첫번째 입력한 비밀번호와, 두번째 입력한 비밀번호가 다르면, 비밀번호가 일치하지 않습니다 를 출력합니다.
- 비밀번호의 길이는 4자리 이상 8자리 이하로만 받습니다.
- 그렇지 않을 경우는 "비밀번호 길이는 4자리 이상 8자리 이하로 입력하세요" 라고 출력
email = input ('email을 입력 하세요') e = "@" in email if e == False : print("이메일 형식이 맞지 않습니다. 다시 작성해 주세요 ") else: password1 = input ("Password를 입력 하세요") lenth = len(password1) if lenth < 4 or lenth < 9: print ("password 는 4자리 이상 8자리 이하로 작성해주세요") password1 = input ("Password를 입력 하세요") else : password2 = input ("Password를 한번 더 입력 하세요 ") if password1 != password2: print ("비밀번호 확인이 맞지 않습니다") else: print ('가입이 완료되었습니다')
5. 자바의 조건문과 파이썬의 조건문의 차이점
자바의 코드 블록
# 파이썬은 자바의 { } 대신해 들여쓰기 한다. # 들여씨기의 단위는 탭 tab 이다. #예) if (a > 5 ){ print('a 가 5보다 크다') }else{ print(' a 가 5보다 작거나 같다') } a 가 5보다 작거나 같다
파이썬의 코드블록
# 파이썬은 자바의 { } 대신해 들여쓰기 한다. # 들여씨기의 단위는 탭 tab 이다. #예) if a > 5 : print('a 가 5보다 크다') else : print(' a 가 5보다 작거나 같다') a 가 5보다 작거나 같다
1. for 반복문
기본 구조
for 반복문은 반복 가능한 객체(iterable)를 순회하며 각 요소를 처리합니다.
for 변수 in 반복가능한객체: 실행할 코드
예시
리스트 순회
my_list =['사과', '바나나',"딸기"] my_list for fruit in my_list: print(fruit)
숫자 범위 순회 (range())
레인지 함수의 사용 용도는, 횟수와 관련해서 사용한다.
# 0부터 4까지 출력 for i in range(5): print(i)
# 1부터 10까지 출력 for i in range(1, 11): print(i)
실습 문제 : 안녕을 10번 출력 하세요
무식한 방법 vs 반복문
i 에 숫자가 1개씩 들어가는동안 프린터를 계속 진행 한다.
# 1부터 10까지 2씩 증가하며 출력 for i in range(1, 11, 2): print(i)
문자열 순회for char in "Python": print(char)
sentence = "hello world" for a in sentence : print (a)
2. while 반복문
기본 구조
while 반복문은 조건이 참인 동안(만족하는 동안) 코드를 반복 실행합니다.
while 조건: 실행할 코드
예시
카운트다운
count = 5 while count > 0: print(count) count -= 1
사용자가 원하는 값 입력받기
password = "" password 변수 초기화: 처음에 password 변수를 빈 문자열로 초기화합니다. # 이 변수는 사용자 입력값을 저장할 용도로 사용됩니다. while password != "1234": # while 루프: 이 루프는 사용자가 올바른 비밀번호("1234")를 입력할 때까지 반복 실행됩니다. password = input("비밀번호를 입력하세요: ") print("로그인 성공!")
3. 반복문 제어 키워드
1) break
반복문을 강제로 종료합니다.
for i in range(10): if i == 5: break print(i)
2) continue
해당 반복의 나머지 코드를 건너뛰고 다음 반복으로 넘어갑니다.
for i in range(10): if i % 2 == 0: continue print(i)
3) else
반복문이 정상적으로 종료되면 실행됩니다. break로 중단되면 실행되지 않습니다
for i in range(5): print(i) else: print("반복문이 정상 종료되었습니다.")
4. 중첩 반복문
반복문 안에 또 다른 반복문을 넣어 복잡한 구조를 처리할 수 있습니다.
for i in range(3): for j in range(3): print(f"i={i}, j={j}")
인덱스도 같이 알고 싶을 때
for i , fruit in enumerate(my_list): # 인덱스도 함께 알고 싶을때 사용 하는 함수 print (i, fruit)
딕셔너리
key 값만 확인 하고 싶은 경우
my_dick ={'삼성':'갤럭시', '엘지':'tv', '삼립':'호빵'} for data in my_dick :# 키 값만 다 뽑아 오는 방법 print (data)
벨류 값만 확인 하고 싶은 경우
for data in my_dick.values() : print(data)
튜플의 형식으로 출력
List Comprehension
for 루프를 사용해 간결하고 효율적으로 리스트를 생성합니다.
코드의 간소화
예제
5. 예제 및 샘플 문제
예제 1: 구구단 출력
for i in range(2, 10): for j in range(1, 10): print(f"{i} x {j} = {i * j}") print("-" * 10)
예제 2: 별 찍기
n = 5 for i in range(1, n + 1): print("*" * i)
정답은 댓글로 남겨주세요
샘플 문제문제 1: 1부터 100까지의 합 계산
for in range()
문제 2: 특정 숫자 찾기
사용자가 입력한 숫자가 리스트에 있는지 확인하세요.
문제 3: 소수 판별
사용자가 입력한 숫자가 소수인지 판별하세요.
문제 4: 역삼각형 별 출력
사용자가 입력한 숫자에 따라 역삼각형 모양으로 별을 출력하세요.
728x90'🐍 Python' 카테고리의 다른 글
파이썬 기초 : NumPy 연산을 효율적으로 처리하기 위한 라이브러리 (0) 2025.01.21 파이썬 기초 : Functions(함수), Lambda Expressions(람다 표현식) (0) 2025.01.21 파이썬 기초 : 튜플(Tuple) (0) 2025.01.19 파이썬 기초 : 세트(Set) (0) 2025.01.19 파이썬 기초 : 딕셔너리(Dictionary) (0) 2025.01.19