iPhoneでAtCoderに参加する。


1.対象

この記事は、以下の人を対象としています。

  • 諸事情あってパソコンは使えないけどAtCoder には参加したい人。
  • iPhoneユーザー
  • 言語はPython
  • 開発環境に1200円払える人

2.開発環境

課金できる場合はPythonista というアプリが便利です。価格は1200円です。

Pythonista3

いいところ
- 入力補完が充実している。
- タブで複数のファイルを切り替えながらの開発が可能
- 記号入力用のボタンが使いやすい

iPhoneでプログラミングをする場合、キーを打つのが不便なために変数名を省略しがちです。しかし、Pythonista の入力補完は変数や関数にも適用されるので入力の手間を気にせずに意味のある変数名をつけることができます。

また、タブでのファイルの切り替えや、記号ボタンなど、イライラを減らす工夫があり、たいへん便利です。

3.競プロ中のタブ配置

iPhoneではアプリの外でのソースコードの改造の操作性が非常に悪いです。そのため、アプリ上で動作確認を終わらせ、AtCoderのサイトへはコピぺして提出するだけにする必要があります。

私は競プロ中、以下の3つのタブを開いています。

  • 問題名.py:提出するソースコードを記述します。
  • input_file.txt:入力データをコピーしておきます。
  • welcome.py:テンプレートのコピーと、入力用の関数の確認用に、practice contestのA - Welcome to AtCoderコードを開いておきます。

welcome.pyは以下の通りです。

welcome.py

import sys

if sys.platform =='ios':
    sys.stdin=open('input_file.txt')

#+++++

a = int(input())
b , c = map(int, input().split())
s = input()
print(str(a+b+c) + ' ' + s)

if文で、iPhoneで実行した場合の標準入力をinput_file.txtで置き換えます。それにより、input関数を実行すると、input_file.txtから一行読んで出力されるようになります。
あらかじめサンプルの入力をinput_file.txtにコピーしておくことにより、実行ボタン1つでプログラムの動作確認ができるようになります。

また、AtCoderのテストサーバーはiosを使っていないので(2019年5月)、ソースコードをそのままコピペして提出することができます。