본문 바로가기

Programming/Algorithm

[Python3] 3 6 9 게임

어제 codeup포스팅을 작성하다가 3 6 9 게임이 나왔다. 이 문제는 10이하 자연수가 입력 될 때 그 숫자까지 3 6 9게임이 어떻게 진행 되는지만 출력하도록 하는 간단한 문제다. 하지만 이 문제를 좀 변형하여 33을 박수 두번을 한다던지 컴퓨터와 내가 1:1로 주고 받을 수 있는 기능을 추가해 보았다. 알고리즘은 코드와 함께 설명하도록 하겠다.

def count(x):    #일단 x에 3, 6, 9가 몇개있는지 세는 함수이다.
total = 0
for i in str(x):
if (i in ['3', '6', '9']):
total += 1
return total


def num(k):    #몇개 있는지 센 수가 1이상 이면 박수곱하기 아까 센 수를 하고 센 수가 0이면 숫자 그대로 반환하는 함수다.
c_369 = count(k)
if (c_369 >= 1):
temp = '!' * c_369
else:
temp = k
return temp


a = 2
print("3, 6, 9! 박수는 !로")
print('1')
while (1):    #유저가 틀릴 때 까지 반복한다.
usr = input()
if (str(num(a)) == usr):
print(num(a + 1))
else:
print("틀렸어" + str(num(a)) + "라고!")

break

a += 2


'Programming > Algorithm' 카테고리의 다른 글

[Python3] 맞춤법 검사기  (1) 2017.02.13
[Python3] 웹 페이지 파싱  (3) 2017.02.08
[Python3] BruteList  (0) 2017.01.04
[Python3] 대칭수찾기  (0) 2016.12.28
[Python3] 푸쉬푸쉬  (0) 2016.12.25