어제 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 |