가오리의 코딩일기
코딩도장 unit16~19 본문
Unit16. for 반복문으로 Hello, world! 100번 출력하기
- for 변수 in range(횟수):
- for 변수 in range(시작, 끝):
- for 변수 in range(시작, 끝, 증가폭):
+ 콜론(:)이 있으니 다음 줄은 들여쓰기
- for 반복문은 반복 횟수가 정해져 있을 때 주로 사용하고 리스트나 튜플, 문자열 등 시퀀스 객체로 반복할 수 있다
- for 변수 in reversed(range(횟수)):
- for 변수 in reversed(range(시작, 끝)):
- for 변수 in reversed(range(시작, 끝, 증가폭)):
+ reversed : 원본 객체 자체는 바뀌지 않으며 뒤집어서 꺼냄
'''구구단 출력하기
표준 입력으로 정수가 입력됩니다.
입력된 정수의 구구단을 출력하는 프로그램을 만드세요.
(input에서 안내 문자열은 출력하지 않아야 합니다.)
출력 형식은 숫자*숫자 = 숫자처럼 만들고
숫자와 *,= 사이는 공백을 한 칸 띄웁니다.
'''
dan = int(input())
for i in range(1,10):
print(dan, '*', i, '=', dan*i)
Unit17. while 반복문으로 Hello, world! 100번 출력하기
i=0 #초기식
while i <10: #while 조건식
print('Hello, world!') #반복할 코드
i +=1 #변화식
- 조건식이 참이면 코드를 계속 반복하고 거짓이면 반복문을 끝내고 다음 코드를 실행한다
- while 반복문은 반복 횟수가 정해지지 않았을 때 주로 사용
- 난수 : 특정 주기로 반복되지 않으며 규칙 없이 무작위로 나열되는 숫자
- import random : random 모듈을 가져옴
- random.random() : 난수 출력
- random.randint(a,b) : a와 b 사이의 난수
- random.choice(시퀀스 객체) : 시퀀스 객체에서 요소를 무작위로 선택
- while True, while 1 : 무한 루프
'''교통카드 잔액 출력하기
표준 입력으로 금액(정수)이 입력됩니다.
1회당 요금은 1,350원이고, 교통카드를 사용했을 때마다의 잔액을 각 줄에
출력하는 프로그램을 만드세요. (input에서 안내 문자열은 출력하지 않아야 합니다.)
단, 최초 금액은 출력하지 않아야 합니다.
그리고 잔액은 음수가 될 수 없으며 잔액이 부족하면 출력을 끝냅니다.
'''
money = int(input())
while money >= 1350: #잔액은 음수가 될 수 없다
money -= 1350
print(money)
Unit18. break, continue로 반복문 제어하기
- break : for문과 while문에서 제어흐름을 벗어나기 위해 사용, 루프를 완전히 중단하고 빠져 나옴
- continue : 제어흐름을 유지한 상태에서 코드의 실행만 건너뜀
'''두 수 사이의 숫자 중 3으로 끝나지 않는 숫자 출력하기
표준 입력으로 정수 두 개가 입력됩니다.
(첫 번째 입력값의 범위는 1~200, 두 번째 입력 값의 범위는 10~200이며
첫 번째 입력 값은 두 번째 입력값보다 항상 작습니다.)
다음 소스 코드를 완성하여 첫 번째 정수와 두 번째 정수 사이의 숫자 중
3으로 끝나지 않는 숫자가 출력되게 만드세요.
정답에 코드를 작성할 때는 while True:에 맞춰서 들여쓰기를 해주세요.
'''
start, stop = map(int, input().split())
i = start
while True:
if i % 10 ==3: # 10으로 나눴을 때 나머지가 3이면
i += 1 # 1을 더하고
continue #뒤에 코드를 넘어가라
if i > stop: # i가 stop보다 커지면
break #빠져 나가라
print(i, end=' ')
i += 1
Unit19. 계단식으로 별 출력하기
- 바깥쪽 루트(i)에서 세로 방향을 처리하고 안쪽 루트(j)에서 가로 방향을 처리한다
'''산 모양으로 별 출력하기
표준 입력으로 삼각형의 높이가 입력됩니다.
입력된 높이만큼 산 모양으로 별을 출력하는 프로그램을 만드세요.
(input에서 안내 문자열은 출력하지 않아야 합니다.)
이때 출력 결과는 예제와 정확히 일치해야 합니다.
모양이 같더라도 공백이나 빈 줄이 더 들어가면 틀린 것으로 처리됩니다.
'''
count=int(input()) # count가 3이라고 가정했을 때
for i in range(count): # i = 1 2 3
for j in reversed(range(count)): # j = 3 2 1
if j > i:
print(' ', end='') # j가 크면 공백
else:
print('*', end='') # j가 작으면 '*'
for j in range(count): # j = 1 2 3
if j < i:
print('*', end='') # j가 작으면 '*'
print() # 개행
'''
j=3 | *
j=2 | **|*
j=1 |***|**
1번 if문|2번 if문
'''
'Python > 코딩도장' 카테고리의 다른 글
코딩도장 unit20 (0) | 2022.01.13 |
---|---|
코딩도장 unit13~15 (0) | 2022.01.11 |
코딩도장 unit03~12 정리 (0) | 2022.01.05 |
코딩도장 unit03~12 심사문제 (0) | 2022.01.05 |