요즘은 뭔가 배우기 참 좋은 시대다.
파이썬 기초만 학습하고 나서 실력을 키우려고 하는데 Check IO 사이트를 추천받아서
시작해보았다.
Check IO (https://checkio.org/)
들어가보면 위와같은 창을 만날 수 있는데, 언어는 자바스크립트와 파이썬을 지원한다.
게임은 Checkio라고하는 문제 풀이 게임과 엠파이어 코드라고 하는 시뮬레이션 게임 같은게 있다.
내가 시작한건 CheckiO - Python이다.
Python메뉴에 들어오면 위와 같이 섬들이 보인다. 등급에 따라서 들어갈 수 있는 섬이 있는데
이제 막 시작했기 때문에 Elementary로 가야한다.
문제들이 쭉 나열되어 있고 원하는 문제를 골라 풀면된다.
이제 막 시작 했기 때문에 초딩 등급이다.
CheckIO에서 첫 번째로 풀어볼 문제
로봇에게 나누기를 가르친다.
- 숫자를 입력해서3과 5로 나눌 수 있으면 Fizz Buzz
- 3으로만 나눌 수 있으면 Fizz
- 5로만 나눌 수 있으면 BUZZ
- 모두 아니면 입력한 숫자를 토해낸다.
나머지 연산에 대한 문제다.
하지만 파이썬의 방향성은 하나의 문제를 푸는 하나의 아름...어라 이거 아닌데.
그냥 쭉 받아서 나열하려다가 괜히 다르게 해본다고 리스트형으로 받아서 덧셈 놀이를 해봤다.
(Pearl의 방향성이다. 하나를 푸는 여러가지 방법)
# Your optional code here # You can import some modules or create additional functions def checkio(number:int)-> str: checkn = [0,0] if number%3 == 0: checkn[0] = 1 if number%5 == 0: checkn[1]= 2 checksum = checkn[0] + checkn[1] if checksum == 1: return "Fizz" elif checksum == 2: return "Buzz" elif checksum == 3: return "Fizz Buzz" # Your code here # It's main function. Don't remove this function # It's using for auto-testing and must return a result for check. # replace this for solution return str(number) # Some hints: # Convert a number in the string with str(n) # These "asserts" using only for self-checking and not necessary for auto-testing if __name__ == '__main__': assert checkio(15) == "Fizz Buzz", "15 is divisible by 3 and 5" assert checkio(6) == "Fizz", "6 is divisible by 3" assert checkio(5) == "Buzz", "5 is divisible by 5" assert checkio(7) == "7", "7 is not divisible by 3 or 5" print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")
성공~ 5포인트의 경험치를 받았다.
다른 사람들이 푼 방식도 좀 읽어봤다... 근데...
한 줄 요약
def checkio(n):
return 'Fizz'*(not n%3)+' '*(not n%15)+'Buzz'*(not n%5) or str(n)
lambda 함수사용
checkio=lambda n:("Fizz "*(1-n%3)+"Buzz "*(1-n%5))[:-1]or str(n)
와... 열심히 해야겠다.
P.S 번외
........
'게임 프로그래밍 > Python' 카테고리의 다른 글
Jupyter notebook 기본 브라우져 바꾸기 (4) | 2019.01.31 |
---|---|
아나콘다와 파이참 연결 (0) | 2019.01.13 |
CheckIO-First Word (0) | 2018.08.17 |
CheckIO(python) - Say Hi 문제 (0) | 2018.07.30 |
CheckIO-Correct_sentence 문제 (0) | 2018.07.30 |