やってみたこと
本来は転職サイトなのですけれども、Python 3 をちょっとやってみたいとも思っておりますので勉強も兼ねてサンプルのコーディング問題を解いてみました♪
Python 3 コード
- 【Python3】input() を使って入力、Enter、を繰り返えしてコマンドラインからプログラムに命令する方法 – oki2a24
- ドキュメントコメントはダブルクォーテーション 3 つで囲む。
- 使用する場所よりも前の行で関数を宣言しておかないとエラーとなった。
- 閏年の判定ロジックは、条件の大きなものから評価する点がポイントです。
# coding: utf-8
# 自分の得意な言語で
# Let's チャレンジ!!
def is_leap_year(year):
""" 閏年を判定します。
西暦が4で割り切れる年は閏年。
ただし、100で割り切れる年は閏年ではない。
ただし、400で割り切れる年は閏年。
Args:
year: 年を表す整数型の値
Returns:
閏年ならば True、それ以外ならば False
"""
if (year % 400) == 0:
return True
elif (year % 100) == 0:
return False
elif (year % 4) == 0:
return True
else:
return False
def say_result(year):
""" 閏年か否かの結果の文章を文字列で返します。
Args:
year: 年を表す整数型の値
Returns:
閏年か否かの文章文字列
"""
if is_leap_year(year):
return str(year) + " is a leap year"
else:
return str(year) + " is not a leap year"
# メイン処理実行開始
input_lines = int(input())
for i in range(input_lines):
print(say_result(int(input())))
実行結果
$ python3 test.py 4 1000 1000 is not a leap year 1992 1992 is a leap year 2000 2000 is a leap year 2001 2001 is not a leap year $
おわりに
実は、、、取り組みはじめてから正解するまで、3 日程かかってしまいました><。
- 閏年判定ロジック: 5分くらい
- 閏年かの結果出力ロジック: 5分くらい
- Python 3 の書き方: 1日くらい
- 引数の入力方法: 2日くらい
- 結果の出力方法: 1時間くらい
特に引数をひとつずつターミナルからプログラムコードに渡す方法に苦労いたしました。バージョンの違いによる書き方や、デバッグの仕方に不慣れですと、こんな初歩的なところで大きく時間がかかってしまいます。。。
いつもどおりといいますか><。。。
なにはともあれ、おかげさまで Python 3 に少し親しむことができました。嬉しいですわ♪
最後に、参考ページです。ありがとう存じます!
以上です。
