본문 바로가기

Programming/Python

[Python] 파이썬 기초 공부 06 (feat. 나도코딩)_If 조건문, for/while 반복문

728x90

 

오늘은 C언어 중에서 가장 좋아했던

if문 for문 while문

파이썬 공부가 힘들어도

실력이 없다면 계속 공부해야하고

조건을 만족할 때까지 반복하는 그런 느낌

공부 스타트~

1. if 조건 함수

1) 조건문 구조

   if 변수 == 데이터:

   조건이 맞으면 실행하는

   elif 변수 == 데이터:

   if 조건이 맞지 않으면 넘어오고 elif 조건이 맞으면 실행하는

   else :

   if/elif 조건이 맞지 않으면 실행하는

weather = "비"

 if weather == "비":

    print("우산을 챙기세요")  #우산을 챙기세요

 

weather = "미세먼지"

 if weather == "비":

    print("우산을 챙기세요")

elif weather == "미세먼지":

    print("마스크를 챙기세요")  #마스크를 챙기세요

 

weather = "맑음"

 if weather == "비":

    print("우산을 챙기세요")

elif weather == "미세먼지":

    print("마스크를 챙기세요")

else:

    print("준비물 필요 없어요")  #준비물 필요 없어요

* 참조 *

input 함수를 활용하면 사용자가 입력할 있게

, 입력한 것은 문자열 형태임

 

2) or 혹은 and 사용해서 조건을 추가 있음

temp = int(input("기온은 어때요? ")) 
#사용자가 입력하는 것에 따라서 출력이 달라짐

if 30<= temp:

    print("너무 더워요. 나가지 마세요")

elif 10<= temp and temp<30:

    print("괜찮은 날씨에요")

elif 0 <= temp  <10:

    print("외부를 챙기세요 ")

else: 

    print("너무 추워요 나가지 마세요")

2. for 반복문

1) 기본

for waiting_no in [0,1,2,3,4]:

    print("대기번호: {0}" .format(waiting_no))

waiting_no라는 변수에 순서대로 0,1,2,3,4, 값을 넣어주며 출력 해주는

, 출력해야하는 값을 지정한 만큼 반복 준다.

(결과)

대기번호: 0

대기번호: 1

대기번호: 2

대기번호: 3

대기번호: 4

 

2) 값이 순차적으로 커질 때는 in 다음에 range(숫자) 사용 가능

for waiting_no in range(5): #0~4

    print("대기번호: {0}" .format(waiting_no))

    

for waiting_no in range(1,6): #시작점, 끝점 1~5

    print("대기번호: {0}" .format(waiting_no))

 

3) 리스트를 구성하고 값을 순차적으로 가져 있음

star = ["아이언맨", "토르", "아이엠"]

for customer in star:

    print("{0}, 커피가 준비되어씁니다" .format(customer))

 

3. while 반복문

1) 기본

customer = "토르"

index = 5

while index >=1:

    print("{0}, 커피가 준비되었습니다. {1} 번 남았어요" .format(customer, index))

    index -= 1

    if index == 0:

        print("커피는 폐기 처분 되었습니다.")

a. index 1보다 크거나 값으면, pint 출력을 계속 반복한다

b. index 값을 1 줄여 나가다가 0 되면

c. if 조건문을 만족하여 커피는 폐기 처분 되었습니다 출력 되고 종료

 

2) 조건이 계속 만족하면 무한 루프에 빠지게 되고, 빠져 나오기 위해서는 ctr + c 누른다

customer = "아이언맨"

index = 1

while True:

    print("{0}, 커피가 준비되었습니다. 호출 {1} 번" .format(customer, index))

    index += 1

3) 입력한 값이 조건에 맞을 까지 반복한다.

customer = "토르"

person = "Unkown"

 

while person != customer:

    print("{0}, 커피가 준비 되었습니다." .format(customer))

    person = input("이름이 어떻게 되세요? ")

4. continue break: 반복문 내에서 쓰는

1) continue: 다음에 있는 문장을 실행 시키지 않고 다음 차례로 넘어 간다

absent = [2, 5]

for student in range(1,11): 

    if student in absent: 

        continue

    print("{0}, 책을 읽어봐" . format(student) )

(결과) 2 5 스킵함

1, 책을 읽어봐

3, 책을 읽어봐

4, 책을 읽어봐

6, 책을 읽어봐

7, 책을 읽어봐

8, 책을 읽어봐

9, 책을 읽어봐

10, 책을 읽어봐

 

2) 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 교무실로 따라와

 

5. for

1) for 값을 받는 변수(i) in 값들 집단 형태로 된다면 줄로 중간 투입 가능

student = [1,2,3,4,5]
students = [i+100 for i in student]
print(students)  #[101, 102, 103, 104, 105]

students = ["A", "bb", "ccc"]

students = [len(i) for i in students]

print(students) #[1, 2, 3]

 

students = ["A", "bb", "ccc"]

students = [i.upper() for i in students]

print(students) #['A', 'BB', 'CCC']

6. Quiz

질문: 당신은 Cocoa 서비스를 이용하는 택시 기사님입니다.

50명의 승객과 매칭 기회가 있을 , 탐승 승객 수를 구하는 프로그램을 작성하시오.

 

조건1: 승객별 운행 소요 시간은 5 ~ 50 사이의 난수로 정해집니다.

조건 2: 당신은 소요 시간 5 ~ 15 사이의 승객만 매칭해야 합니다.

from random import *

mine = 0

for customer in range(1,51):

    time = randint(5,50)

   

    if time <5 or time >15:

        print("[ ] {0}번째 손님 소요시간: {1}" .format(customer, time))

        

    else:   

        mine +=1

        print("[o] {0}번째 손님 소요시간: {1}" .format(customer, time))

 

print("총 탑승객은 {0}명 입니다".format(mine))

* for문을 탈출 한 다음에 마지막 print 문을 생각하는 것이 어려웠다 

 

오늘은 여기까지~

매일매일 실력을 업그레이드 해보자!


2020/04/15 - [Programming/Python] - [Python] 파이썬 기초 공부 05 (feat. 나도코딩)_자료 구조

2020/04/14 - [Programming/Python] - [Python] 파이썬 기초 공부 04 (feat. 나도코딩)_문자열

2020/04/13 - [Programming/Python] - [Python] 파이썬 기초 공부 03 (feat. 나도코딩)_연산자와 함수

2020/04/09 - [Programming/Python] - [Python] 파이썬 기초 공부 02 (feat. 나도코딩)_설치와 자료형 배우기

2020/04/07 - [Programming/Python] - [Python] 파이썬 기초 공부 01 (feat. 나도코딩)_강의소개

728x90