저번주는 멘탈적으로나 시간적으로 여유가 없었다..
그렇게 해서 강의는 쌓여있었고 운좋게도 재택근무를 하게되었지만
카페파는 집에서 집중이 잘 안됩니다 흑흑
노트북이 켜져있었더니 강의 본 시간이 4000분이 넘는다 덜덜
제어구조의 종류
특정 영역의 명령문을 여러 번 반복하는 구조
조건에 따라 반복 횟수를 결정
반복문
- 계수 제어 반복(for)
- 조건 제어 반복(while)
for 문 형식
구문형식
for 계수-제어-변수 in 시퀀스
명령문(들)
시퀀스의 사용
range(a, b, k) 함수
- a부터 b보다 크거나 같지 않은 값까지 k씩 증가시켜 만들어진 시퀀스 생성
range(1, 100)
1~99(100보다 작은값까지)
range(1000)
0~999(기본값0이 되고, 1000보다 작은 999까지
range(10, 200, 5)
10 15 20 ... 195(10부터 200보다 작은 값에서 5씩 증가시킨다)
range(1000, 0 , -1)
1000 999 ... 3 2 1
구구단 출력
사용자가 입력한 단에 대한 구구단을 출력하는 프로그램을 작성하시오.
소스 코드
#사용자 입력
level = eval(input("몇단을 출력할까요? "))
#결과값 출력
for i in range(1, 10) :
print(i * level, end = ' ')
중첩 루프 형식
구문형식
for 계수-제어-변수 in 시퀀스1
for 계수-제어-변수2 in 시퀀스2
명령문(들)
구구단표
구구단표를 출력하는 프로그램을 작성하시오.
소스 코드
print(format("구구단표", ">20s"))
print (" |", end='') #숫자 표머리를 출력한다
for j in range(1,10) :
print(" ", j, end='')
print() #새로운 행에서 시작한다.
print("------------------------------------------------")
for i in range(1, 10) :
print(i , "|", end = '' )
for j in range(1, 10) :
#곱셈 결과를 출력하고 정렬한다.
print(format(i * j, '4d'), end='')
print() #새로운 행에서 시작한다.
break
현재의 루프를 중단하는 키워드
비 효율적 소스 코드
n = eval(input("정수를 입력하세요 : "))
isPrime = True
for i in range(1, n) :
if n % i == 0 :
isPrime = False
if isPrime :
print(str(n) + "은 소수입니다.")
else :
print(str(n) + "은 소수가 아닙니다.")
continue
현재의 반복을 중단하는 키워드
소스 코드
#사용자 입력
n = eval(input("정수를 입력하세요 : "))
sum = 0
for i in range(1, n+1) :
if i % 4 ==0 :
continue
sum+= i
print("4의 배수를 제외한", n, "까지의 합은", sum, "입니다.")
소수 찾기
첫 50개의 소수 찾기
소스 코드
NUMBER_OF_PRIMES = 50
NUMBER_OF_PRIMES_PER_LINE = 10
count, number = 0, 2
print("첫 50개의 소수")
while count < NUMBER_OF_PRIMES :
isPrime = True
divisor = 2
while divisor <= number / 2:
if number % divisor ==0:
isPrime = False
break
divisor += 1
if isPrime :
count += 1
print(format(number, '5d'), end= '')
if count % NUMBER_OF_PRIMES_PER_LINE == 0 :
print()
number +=1
완전수 찾기
10,000 이하의 모든 완전수를 찾는 프로그램을 작성하시오.
완전수
자기 자신을 제외한 모든 양의 약수를 더했을 때 자기 자신이 되는 양의 정수
소스 코드
for number in range(2, 10000 + 1) :
sum = 0
divisor = number - 1
while divisor >= 1 :
if number % divisor ==0 :
sum += divisor
divisor -= 1
if number == sum :
print(number, end = " ")
실행 결과
6 28 496 8128
삼각 패턴 수
소스 코드
import turtle
x = -100
y = 100
line = " "
for i in range(1, 12) :
for j in range(1, i) :
line += str(j) + " "
turtle.penup()
turtle.goto(x,y)
turtle.pendown()
turtle.write(line, font = ("맑은 고딕", 18, "bold"))
line = ""
y -= 20
turtle.hideturtle()
turtle.done()
실행 결과
정리하기 (출처 : 한국방송통신대학교 프라임칼리지)
1. 반복문에는 두 종류, while 루프와, for 루프가 있다.
2. for 루프는 계수 - 제어 루프이고 루프 몸체를 예상할 수 있는 횟수만큼 실행하는데 사용된다.
3. 두 키워드 break와 continue는 루프에 사용된다.
4. break 키워드는 break를 포함하는 가장 내부의 루프를 즉시 종료시킨다.
5. continue 키워드는 현재의 반복만을 종료시킨다.
100%를 향해
'우당탕탕 학교생활 > _방송통신대학교' 카테고리의 다른 글
방송통신대학교 프라임칼리지 파이썬(Python) 열한번째 시간 리뷰 (1) | 2020.08.27 |
---|---|
방송통신대학교 프라임칼리지 파이썬(Python) 열번째 시간 리뷰 (0) | 2020.08.27 |
방송통신대학교 프라임칼리지 파이썬(Python) 여덟번째 시간 리뷰 (0) | 2020.08.17 |
방송통신대학교 프라임칼리지 파이썬(Python) 일곱번째 시간 리뷰 (0) | 2020.08.17 |
방송통신대학교 프라임칼리지 파이썬(Python) 여섯번째 시간 리뷰 (0) | 2020.08.17 |