본문으로 건너뛰기

반복문 제어와 time 모듈


반복문 복습

while 문
i = 1 # 초기값
while i <= 10: # 조건문
print(i, end=" ") # 실행문장
i += 1 # 증감치 설정 (위치 변경 가능)
# 1 2 3 4 5 6 7 8 9

for 문
# 예제 1
for i in range(10):
print(i, end=" ")
# 0 1 2 3 4 5 6 7 8 9

for i in range(1, 11):
print(i, end=" ")
# 1 2 3 4 5 6 7 8 9 10

# 예제 2
for i in range(1, 15, 2):
print(i, end=" ")
# 1 3 5 7 9 11 13

반복문 의 제어

break

조건이 참일 경우, 반복문을 탈출함

  • 예시 : 5개의 데이터를 입력받아 처리하며, 예외값(0 ~ 100 사이의 값이 아닌 경우)을 만나면 반복을 멈주기
# 무한 루프 실습

i = 1
while True: # 무한 루프
print('hi')
if i == 5:
break # break 로 제어함
i += 1
실행 결과
hi
hi
hi
hi
hi
# 점수 누적 실습

sum = 0
while True: # 무한 루프
score = int(input('점수: '))
if score < 0 or score > 100:
break
sum = sum + score

print('sum: ', sum)
실행 결과
score: 88
score: 90
score: 100
score: -1
sum: 278
# 로그인 실습

pw = '1234'
i = 1
while True:
pw = input('비밀번호를 입력하세요:')
if pw == '1234':
print('로그인 성공')
break
if i == 5:
print('비밀번호 입력 5회 실패하였습니다')
break
i += 1
실행 결과
비밀번호를 입력하세요: 2
비밀번호를 입력하세요: 34
비밀번호를 입력하세요: 1234
로그인 성공

continue

조건이 참일 경우, continue 다음 반복문을 실행하지 않고 반복을 계속함

  • 예시 : 10개의 값을 입력하여 합을 구하며, 3의 배수는 합을 구하지 않고 제외함
# 구구단 중 홀수만 출력 실습

print('구구단 중 원하는 단을 입력하세요(2 ~ 9까지의 홀수 단만 출력합니다)')
dan = 0

while True:
dan = int(input('단 입력: '))

if dan < 2 or dan > 9:
print('에러입니다.')
break

if dan % 2 == 0:
print('짝수를 입력하였습니다')
continue

for i in range(1, 10):
print(dan,'*', i, '=', dan * i)
break
실행 결과
단 입력: 2
짝수를 입력하였습니다
단 입력: 3
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27



time 모듈

시간 관련한 한수들로 구성된 모듈

import time


  • time()

    • 현재 Unix timestamp를 소수로 리턴
  • sleep()

    • 일정시간 동안 실행 지연(n초 동안 실행이 지연)

import time

for i in range(5):
print('hi')
time.sleep(1)
실행 결과
hi
hi
hi
hi
hi

import time

start = time.time()
sum = 0

for i in range(0, 1000001):
sum = sum + i # sum += i

end = time.time()

print('sum: ',sum)
print('end - start = ',end - start) # 계산에 걸린 시간

실행 결과
sum:  500000500000
end - start = 0.0729210376739502



조건문, 반복문, random 실습


조건문 실습

import random

num1 = random.randind(1, 5)
print('안녕하세요')
name = input('이름이 뭐에요?:')
num2 = int(input('정수 숫자를 예측해 보세요. (1~5 사이의 정수 입력): '))

if num1 < num2:
print('더 작게')
elif num1 > num2:
print('더 크게')
else :
print('정답!')
실행 결과
안녕하세요
이름이 뭐에요?:hyoloui
정수 숫자를 예측해 보세요. (1~5 사이의 정수 입력): 5
정답!

score=float(input('score:'))
if score >= 60:
print('합격')
else:
print('불합격')
실행 결과
score:70
합격

width = int(input('가로 길이: '))
height = int(input('세로 길이: '))
print('가로 길이: ' + str(width) + '세로 길이: ' + str(height))
print('넓이: ' + str(width * height))
실행 결과
가로 길이: 20
세로 길이: 5
가로 길이: 20세로 길이: 5
넓이: 100

import time

print("몇 초를 지연하여 숫자를 출력할까요? (1 ~ 5)")
n = float(input('초: '))

for i in range(5):
print(i + 1)
time.sleep(n)
실행 결과
몇 초를 지연하여 숫자를 출력할까요? (1 ~ 5)
초: 0.6
1
2
3
4

random 모듈 실습


import random

random.randint(1, 30) # 12

random.randint(1000, 2000) # 1589

random.randint(10, 2) # ValueError

random.randint(1.2, 4.3) # TypeError

import random

val1 = random.randint(0, 1)
print("홀수(0) 일까요 짝수(1)일까요?:",end='')

val2=int(input())

if val1 == val2:
print("정답입니다")
else :
print("오답입니다")
실행 결과
홀수(0) 일까요 짝수(1)일까요?:1
정답입니다
======================== RESTART ========================
홀수(0) 일까요 짝수(1)일까요?:1
오답입니다

import random
dan = random.randint(2,9)
print('dan:', dan)
print(dan, '단을 보여드리겠습니다:')

for i in range(1,9):
print(dan, '*', i, '=', dan * i)

실행 결과
dan: 5
5 단을 보여드리겠습니다:
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
======================== RESTART ========================
dan: 6
6 단을 보여드리겠습니다:
6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54

import random

while True:
n = int(input('n: '))
if n < 100:
break
print("1 ~ ", n, " 까지 중 임의의 수")
print(random.randint(1, n))
실행 결과
n: 200
1 ~ 200 까지 중 임의의 수
103
n: 300
1 ~ 300 까지 중 임의의 수
144
n: 7

반복문 실습


print("반복문 실행")

i = 1

# while i <= 10:
# print(i)
# i += 1

for i in range(i, 10):
print(i)

실행 결과
반복문 실행
1
2
3
4
5
6
7
8
9
10

print("반복문 실행 2")

sum = 0
'''
i = 1

while i <= 10:
print(i, end="")
sum += i
i += 1
'''
for i in range(1, 11):
print(i, end = '')
sum += i
i += 1

print()
print("sum: ", sum)
실행 결과
반복문 실행 2
12345678910
sum: 55