반복문
특정 일을 반복해야 할 때 사용합니다.
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