본문 바로가기

프로그래밍/Python

[Python] while문, for문, break, else

while문

while True :
    pyeong = input("평수는?")
    if pyeong == "" or pyeong == "q":
        break
    m2 = int(pyeong) * 3.31
    print("{0}평은 {1}제곱미터입니다.".format(pyeong, m2))

for문

v = 0
for i in range(1, 11):
    v = v + i
    print(i, "을(를) 더하면", v)
print("1에서 10까지 모두 더하면...", v)

for문의 "범위"부분에는 range()함수를 사용할 수 있다.

 

range() 사용법

1. 매개변수에 숫자를 한 개 넣는 방법 ex) range(5) -> 0~5

2. 매개변수에 숫자를 두 개 넣는 방법 ex) range(0, 5) -> 0~4 / range(1,5) -> 1~4

3. 매개변수에 숫자를 세 개 넣는 방법 ex) range(0, 10, 2) -> 0, 2, 4, 6, 8 (0~9사이의 숫자중 2만큼의 차이를 가지는)

 

범위 반복을 위한 for문 예제 1

#화면에 300개의 세로 선을 긋는다
from tkinter import * #그래픽 라이브러리를 도입한다
w = Canvas(Tk(), width=900, height=400) #화면 초기화
w.pack()

for i in range(300): #0~299
    x = i * 3
    w.create_line(x, 0, x, 400, fill = "#FF0000") 
    #(x,0)에서 (x,400)까지 이어지는 선 생성, #FF0000 : R(FF) G(00) B(00)

mainloop()

범위 반복을 위한 for문 예제 2

from tkinter import * #그래픽 라이브러리를 도입
w = Canvas(Tk(), width=90, height=400) #화면 초기화
w.pack()

for i in range(100):
    x = i * 9
    if i % 2 == 0:
        c = "ff0000" #빨강색
    else:
        c = "#0000FF" #파랑색
    w.create_line(x,0,x,400,fill=c)

mainloop()

반복을 중지하는 break와 continue

break는 반복 처리를 실행하는 도중에 어떤 이유로 처리를 중단할 때 사용 (반복문 하나를 나감)

continue는 반복 처리 도중에 어떤 부분만 반복 실행해야 할 경우 사용 (다시 반복 판정문으로)

for i in range(1,21): #1~20
    if i%15==0:
        print("Fizz Buzz")
        continue
    if i%3==0:
        print("Fizz")
        continue
    if i%5==0:
        print("Buzz")
        continue
    print(i)

 

반복문에서 else블록을 사용할 경우

반복 조건식이 거짓일 때

1. 반복문을 한 번도 실행하지 않았을 때

2. break으로 반복문을 빠져나오지 않았을 때

 

반복문에서 else 블록을 사용할 경우 예제1

#반복문에서 else블록을 사용할 경우 예제1
foodstuff = ["Banana", "Mango", "Fish", "Carrot", "cabbage"]
#망고가 있는지 확인
flag_found = False
for food in foodstuff:
    if food == "Mango"
        flag_found=True
        break
if flag_found:
    print("망고가 들어 있습니다.")
else:
    print("없습니다.")

반복문에서 else 블록을 사용할 경우 예제2 ( 코드가 더 간결해짐)

foodstuff = ["Banana", "Mango", "Fish", "Carrot", "cabbage"]
#망고가 들어 있는지 확인한다
for food in foodstuff:
    if food == "Mango":
        print("망고가 들어 있습니다.")
        break
else: #if문이 수행되지 않았을 경우(=break문이 실행 안되었을 경우)
    print("없습니다.")

'프로그래밍 > Python' 카테고리의 다른 글

[Python] 리스트 뒤집기  (0) 2024.04.02
[Python] split()과 split(' ')의 차이  (0) 2024.03.27
[Python] input()과 readline()의 차이점  (0) 2024.03.25
[Python] 리스트(list)  (0) 2021.04.03