티스토리 뷰

KR/Python

[Python] 3 6 9 게임 구현하기

개발개 2021. 5. 3. 00:28
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
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
05-03 15:51