🐍 Python

파이썬 기초 : 조건문 , 반복문

itstory(Booho) 2025. 1. 20. 11:31
728x90

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