checkio API를 사용해 보았습니다.

4257 단어 파이썬api
기사 요약 : checkio-client를 사용하면 브라우저가 아닌 checkio 문제를 해결할 수 있습니다.

경위



checkio는 무엇입니까?

checkio 은 Python이나 Typescript 학습 서비스 (보다는 코딩 게임?).
특징적인 점은, 실용성 중시의 문제가 출제되는 곳.
예를 들면 「정규 표현을 사용해 특정의 캐릭터 라인을 검출하는 문제」가 아니라 「대응이 귀찮은 메일을 선별하는 문제 」라고 하는 형식으로 출제된다.
일문에 대해 1 지식의 학습을 시키는 일반적인 교재와 달리, 1개의 기초 문제로 다양한 지식을 요구해 오므로 일반적으로 난이도는 높다(최저 난이도의 Elementary에서도 풀 수 없는 때가 있어 상당히 오목함)이 학습의 질과 동기부여 향상에는 확실히 공헌해 준다. 타인과 해답을 공유할 수 있는 것도 훌륭하다.


편리한 서비스이지만 문제점이 하나.
해답 화면이 엄청 힘들고 사용하기 어렵다.
스크립트는 Web상의 에디터에 박는데, 커맨드 보완 기능이 준비되어 있지 않기 때문에 타이포, 괄호 닫는 것을 잊어, pep8을 지키지 않는 코딩이 빈발한다. 디버그 작업도 하기 어렵다.
평소 vscode의 보완 기능에 의지할 만한 것이 나쁘지만, 그렇다고 해서 일단 그런 실수의 수정에 사고 자원을 나누고 싶지 않다.
결과 어떻게 할까 하면
vscode에서 스크립트를 쓰고 디버깅하고 잘 작동하면 브라우저의 해답 화면에 복사합니다.

그런 쓸데없는 공정 사이에 끼우면, 차례로 스크립트 파일마다 송신해 대답해 줘…

API로 py 파일을 보낼 수 있습니다!

라고 하는 사실을 checkio2년 사용해 처음으로 알았으므로 여기서 소개하기로 한다.

준비하는 것


  • python3
  • pip
  • checkio의 API 키 (사용자 프로필에서 확인할 수 있음)

  • 설치



    1.checkio_client(API) 설치


    pip3 install checkio_client
    

    2.config 설정


    checkio config
    
    Which domain you want to use by default? (code required)
    [py] - https://py.checkio.org
    [js] - https://js.checkio.org
    [epy] - https://empireofcode.com
    [ejs] - https://empireofcode.com
    by default:py
    Code for domain[py]:
    

    파이썬을 사용하기 때문에 그대로 Enter
    What is your KEY for https://py.checkio.org ?
    You can find one on https://py.checkio.org/profile/edit/
    KEY:
    

    API 키 입력
    Choose folder for your solutions [/home/user/py_checkio_solutions]:
    

    파일을 저장할 디렉터리를 입력합니다(기본값을 유지하더라도 ok).

    3. 진행 상황 동기화


    checkio sync ~/py_checkio_solutions
    

    지정된 디렉토리에 응답 파일이 동기화됨


    두 번째 이후에는
    checkio sync
    

    그냥 동기화할 수 있습니다.

    이용방법



    1.py 파일에 답변을 씁니다.



    동기화 된 py 파일에 해답을 씁니다.
    문제문도 파일내에 기술되어 있으므로 브라우저에서 문제문을 열 필요도 없다.

    2. 해답 테스트



    assert 문이 통과되면 답변을 보내 테스트

    Zigzag Array 을 풀면
    zigzag_array.py --check
    
    Start checking...
    
    *** Basics ***
    ->[3, 5]
    <-[[1, 2, 3, 4, 5], [10, 9, 8, 7, 6], [11, 12, 13, 14, 15]]
    ->[5, 1]
    <-[[1], [2], [3], [4], [5]]
    ->[3, 3, 5]
    <-[[5, 6, 7], [10, 9, 8], [11, 12, 13]]
    *** Extra ***
    ->[0, 3]
    <-[]
    ->[3, 0]
    <-[[], [], []]
    ->[0, 0]
    <-[]
    ->[10, 1]
    <-[[1], [2], [3], [4], [5], [6], [7], [8], [9], [10]]
    ->[4, 2]
    <-[[1, 2], [4, 3], [5, 6], [8, 7]]
    
    !!! Congratulation !!!
    
    Link for checking solution of other users: https://py.checkio.org/mission/zigzag-array/publications/
    
    Link for sharing solution: https://py.checkio.org/mission/zigzag-array/publications/add/
    

    Congratulation이 표시되면 테스트 통과.

    3. 답변을 게시



    Link for sharing solution 링크에 액세스하여 답변을 제출
    사용자 페이지의 Activity에 "Shared Clear solution..."라는 알림이 표시되면 게시 완료.

    결론



    「문제 선택→해결→테스트」까지를 vscode상에서 완결할 수 있어 매우 편리.

    checkio-client에 대해 더 알고 싶다면 공식 블로그를 참조하십시오.
    htps : // py. 치 c. 오 rg / b ぉ g / 네 w-와 l ぇ c 키오 ぃ 엔 t /

    브라우저 확장 기능도 있는 것 같지만, 리뷰 스코어 낮은 & 최종 업데이트가 2018년 말(2020년 6월 현재)과 흩어져 있으므로 별로 사용할 생각은 없다.
    h tp // w w. 치 c. 오 rg/ぉ카 l-에ぢ과 r/ch 로메/에 x 텐시온/

    좋은 웹페이지 즐겨찾기