Aizu Online Judge(AOJ)が提供している「プログラミング入門」(ITP1)の1_A問題をC++とPython で解いてみました。
ITP1 のトピック1では、「プログラミングの入門として、基本構造、変数、入出力、計算式を学習します。」とあります。わたしは、C と C++ には、ある程度習熟しています。この学習コースを通じて、Python に慣れていきたいと考えています。
問題(1_A: Hello World)
問題はリンク先をご覧ください。
文字列を出力する問題です。
解答案
C++ プログラム例(ITP1 1_A)
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World" << endl;
return 0;
}
文字列を出力するだけです。
Python プログラム例(ITP1 1_A)
print("Hello World")
Python では、ダブルクォーテーションで囲む文字列とシングルクォーテーションで囲む文字列の差はありません。C と異なり ’A’ は1文字からなる文字列です。次のプログラムも同じ出力をします。
print('Hello World')
print 関数は、引数を複数受け取り、引数の間は空白(変数名 sep で指定できます)を出力します。次のプログラムも同じ出力をします。
print("Hello", "World")
print 関数の出力の最後に出力する文字列は、変数名 end で指定できます。既定値は、’\n’ です。おすすめできる書き方ではありませんが、次も同じ出力をします。空文字列 “” の後に end で指定した文字列を出力します。
print("", end="Hello World\n")
上記プログラムは、すべて AOJ で「AC(Accepted=正解)」と判定されます。
最後に
AOJ は、AtCoder と同じようにブラウザで問題を解くプログラムを判定してもらえます。ITP1 は、初めて C や C++ を習う人に推薦していました。Python の習熟度を上げるために、自分でも活用することにしました。
簡単なプログラムでも、慣れるためにある程度の量を書くことが重要だと考えています。
引き続き、ITP1 の問題を紹介していきます。