반복문

특정 일을 반복해야 할 때 사용합니다.

for

기본 문법은 for 변수 in 리스트 : 반복할 코드 리스트의 값을 하나식 꺼내어 변수에 넣어줍니다.

data = [6,5,4,3,2,1]
for number in data:
    print(number)

간단하게 data에 있는 값을 하나식 꺼내어 출력하는 for문 입니다.

반복할 코드는 다양하게 변경 가능 합니다.

3일 때만 출력하기

data = [6,5,4,3,2,1]

for number in data:
    if(number == 3):
        print(number)

평균값 구하기

data = [6,5,4,3,2,1]
total = 0

for number in data:
    total += number

avg = total / len(data)
print (" Total  : " , total)
print (" avg  : " , avg)

05 total 값에 number 값을 계속 더합니다. 07 len(data) 함수를 통해 data 리스트의 길이를 구할 수 있습니다.

3값을 더해서 리스트 만들기

data = [6,5,4,3,2,1]
data2 = []
addValue = 3

for number in data:
    data2.append(number + addValue)

print(data2)

06 data2 리스트에 값을 추가합니다.

range 함수

연속적인 숫자를 사용할 때 range(시작 값, 종료 값) 를 사용할 수 있습니다.

for number in range(1, 4):
    print(number)

01 범위는 1이상 4미만 입니다.

range(종료 값) 처럼 마지막 값만 설정할 수 있습니다.

for number in range(4):
    print(number)

01 시작 값이 없기 때문에 0부터 시작됩니다.

break

반복문을 계속 돌다 특정 조건이 만족 된 경우 더 이상 반복이 필요 없는 경우에 사용합니다.

data = [6,5,4,3,2,1]

for number in data:
    if(number == 3):
        break
    print(number)

04 number 값이 3인 경우 05 문장의 break로 인해 반복문을 벗어 납니다.

continue

반복문을 돌다 특정 조건이 만족 된 경우 이후 코드를 실행하지 않고 다음 반복문을 실행합니다.

data = [6,5,4,3,2,1]

for number in data:
    if(number == 3):
        continue
    print(number)

04 number 값이 3인 경우 05 다음 for문을 실행 합니다. 06번 라인은 실행되지 않습니다.

while

while 역시 반복문입니다. for 문과 다른 점은 조건이 True가 아닐 때 까지 반복합니다. while 조건 (True) : 반복할 코드

end = 5
count = 0

while count < end:
    print(" COUNT : ", count)
    count += 1

04 count 는 처음에 0으로 시작됩니다. count값보다 end값이 크기 때문에 조건은 True가 됩니다. 06 while 문이 반복됨에 따라 count값은 1식 증가합니다.

특정 문자가 들어오기 전까지 대기하기

userInput = 0

while userInput != 4:
    userInput = int(input("Insert Number : "))
    print(" userInput : ", userInput)

03 userInput에 값이 4가 들어가기 전까지 4,5 문장이 반복됩니다. 04 사용자의 입력값은 문자로 들어옵니다. 이것을 int() 함수를 이용해 숫자로 변경합니다.

문제

문제1 1부터 100까지 합을 구하세요.

참고 코드
sum1 = 0
for v in range(1,101):
    sum1 += v
print(sum1)

#방법2 
a = range(1,101)
print(sum(a))

문제2 1부터 100까지 값 중 홀수 값을 모두 더 하세요.

참고 코드
total = 0
for v in range(1,101):
    if (v%2 == 1):
        total += v
print(total)

문제3 3자리 숫자 맞추기 10고개를 만들어 봅시다. ex) 맞춰야 되는 숫자 : 654 >>> 500 <<< 보다 큽니다. >>> 740 <<< 보다 작습니다. >>> 654 <<< 정답입니다.!!

참고 코드
#-*- coding : UTF-8 -*-
rightnum = 654
i = 0
while i < 10 :
    num_input = int(input("숫자"))
    if (num_input == rightnum):
        print("정답입니다")
        break
    elif (num_input > rightnum):
        print("입력값이 큽니다")
    elif (num_input < rightnum):
        print("입력값이 작습니다")
    i = i +1
참고 코드
#-*- coding : UTF-8 -*-
import random
random_number = random.randrange(100,1000)
print('정답:',random_number)
count = 0
while count <10:
    user_number = input('3자리 입력해\n')
    count += 1
    if(int(user_number) == random_number):
        print('정답입니다.')
        break
    elif(int(user_number) > random_number):
        print('보다 작습니다.')
    else:
        print('보다 큽니다.')
if (count == 10):
    print('기회 10번 끝 정답은 ',random_number, ' 입니다.\n' )

문제4 로봇 전시회를 갔습니다. 다양한 로봇 중 사람과 대화하는 로봇을 발견했습니다. 나 : 신기한 로봇이네 로봇 : 안녕하세요. 저는 K23입니다. 나 : 안녕. 로봇 : 안녕하세요. 전시회는 즐거웠나요? 나 : 오!! 이런 말을 하네? 신기하네 로봇 : 저는 사람과 친구가 되기 위해 대화를 학습하고 있습니다. 나 : 그래서 많이 배웠어? 로봇 : 저는 대화를 학습하고 있습니다. 나 : 지금 나한테도 배웠어? 로봇 : 저는 대화를 학습하고 있습니다. 나 : 그래서 지금 대화에서도 많이 배웠냐고. 로봇 : 저는 대화를 학습하고 있습니다. 관계자 : 지금 이 로봇은 개발중인 상태라 자유로운 언어 구사가 되지는 않습니다.. 로봇 : 안녕하세요. 저는 K23입니다. 로봇 : 저는 대화를 학습하고 있습니다. 나 : 그렇군요. 즐거웠어 로봇~ 로봇 : 안녕히가세요. 즐거운 전시회가 되시길 바랄께요. 나 : 안녕~ 로봇 : 안녕하세요. 전시회는 즐거웠나요? 위 예제와 같이 사용자가 입력값에 따라 출력하는 로봇을 만들어보세요.

참고 코드
#-*- coding : UTF-8 -*-
while True:
    var = input("나 : ")
   #print("나:",var)
    if '안녕' in var:
        print("로봇: "," 안녕하세요. 전시회는 즐거웠나요")
    elif '로봇' in var:
        print("로봇: "," 안녕하세요.저는 K23입니다.")
    elif '배웠' in var:
        print("로봇: "," 저는 대화를 학습하고 있습니다." )
    elif '즐거웠어' in var:
        print("로봇: "," 안녕히 가세요 즐거운 전시회가 되시길 바랄께요.")
    else:
        print("로봇: "," 저는 사람과 친구가 되기 위해 대화를 학습하고 있습니다")
    if (var=='종료'):
        print("대화를 종료합니다.")
        break
참고 코드
while True:
    con=input("\n")
    con=str(con)
    print("hello, I'm K23.")
    
    if(con.find("hello")!=-1 or con.find("hi")!=-1):
        print("hello, did you enjoy this exhibition?")
        continue
    if(con.find("surprise")!=-1):
        print("now, I'm learning conversation to be a friend with you.")
        continue
    if(con.find("study")!=-1 or con.find("learn")!=-1): 
        print("I'm learning conversation now.")
        continue
    if(con.find("see you")!=-1 or con.find("bye")!=-1): 
        print("good bye, I hope you enjoyed the exhibition!")
        break

Last updated