티스토리 뷰
728x90
369게임을 구현하고자 한다.
구현 기준과 출력 예시는 아래와 같다.
구현 기준
- 정수 n을 입력받는다.
- 1부터 입력받은 정수 n까지 한칸씩 띄어 순서대로 출력하되,
3, 6, 9가 포함된 경우 박수(X)를 친다. - 3, 6, 9가 여러 개 포함된 숫자의 경우, 포함된 숫자만큼 박수를 친다.
출력 예시
- 13 차례일 때, 출력 : X
- 39 차례일 때, 출력 : XX
728x90
소스 코드 및 해설
# https://the-dev.tistory.com/69
# 입력받은 값을 매개변수 n에 정수로 할당한다.
n = int(input("Input number: "))
# 1부터 n까지 반복한다.
for i in range(1, n+1) :
# i번재 숫자를 문자로 변환한다.
s = str(i)
# i번째 숫자가 3,6,9를 몇 개 포함하고 있는지 셀 변수를 할당한다.
count = 0
# 문자로 변환한 i번째 숫자를 한 자리씩 반복한다.
# e.g. 369 => [3,6,9]
for x in s :
# 3, 6, 9 문자가 있으면
if (x=='3') or (x=='6') or (x=='9') :
# count를 1 늘려준다.
count += 1
# 만약 count가 0이면 (3,6,9가 포함되지 않은 것이므로)
if count == 0 :
# i를 그대로 출력하고, 출력 글자간 한 칸 띄기로 구분한다.
print(i, end=' ')
# count가 0이 아니면
else :
# count 수만큼 X를 출력하고, 출력 글자간 한 칸 띄기로 구분한다.
# e.g. 36 => count가 2이므로 => XX 출력
print(count*'X', end=' ')
입력화면
Input number: 35
출력
1 2 X 4 5 X 7 8 X 10 11 12 X 14 15 X 17 18 X 20 21 22 X 24 25 X 27 28 X X X X XX X X
* 코드블럭 인덴트 틀어짐 이슈로 이미지도 첨부합니다 *
728x90
'KR > Python' 카테고리의 다른 글
[Python] 2차원 배열 생성/초기화 주의사항 (0) | 2021.05.04 |
---|---|
[Python] 수열 구현하기 (0) | 2021.05.03 |
[PYTHON3] CSV/TSV 매 행마다 공백줄 생성 문제 해결 방법 (2) | 2019.12.05 |