Python 技術ログ

毎日Python_17日目

2020年10月23日


【ページ更新日:2020年10月23日】

毎日Pythonでは、簡単なPythonのプログラムコードを紹介していきます。

今日のプログラムはAtCorder2019の問題を使用しています。

競技用プログラミングの問題になります。

問題

問題は次のとおりです。

ある商品のN日間の売上が整数列A1,A2,…,ANとして与えられる。Ai(1≦i≦N)がi日目の売上を表す。

あなたは、2日目以降の各日について、その日の売上が前日の売上よりどれだけ高かったか (あるいは低かったか) を出力するプログラムを作成することにした。

より具体的には、プログラムはN−1行を出力し、i行目(1≦i≦N−1)の内容は次の通りである。

Ai+1がAiと等しい場合:stay
Ai+1がAiより小さい場合: down [減少量]
(※ここで [減少量] は整数値 Ai − Ai+1)
Ai+1がAiより大きい場合: up [増加量]
(※ここで [増加量] は整数値 Ai+1 − Ai)

このプログラムを作成せよ。

AtCorder 第一回アルゴリズム実技検定過去問2019年12月B問題

プログラムコード

問題の解答となるコードは次のとおりです。

※間違いの指摘やアドバイスなどあれば教えてください。

N = int(input("日数を入力してください >>> "))

list = []

for i in range(N):
    list.append(int(input()))
    
for i in range(N-1):
    if list[i+1]==list[i]:
        print("stay")
    elif list[i+1]>list[i]:
        print("up [{}]".format(list[i+1]-list[i]))
    else:
        print("down [{}]".format(list[i]-list[i+1]))

ポイント

今回のPythonコードのポイントは次の3点です。

  • list = [ ]
  • list.append( )
  • format( )

list = [ ]

これは、リスト型の変数を変数名「list」、要素「空(要素なし)」で宣言しているコードです。

リスト

複数の要素をまとめて扱うことができる変数の型

下記のようにすると、リスト型の変数を変数名「items」、要素「1,2,3,4」で作成します。

items = [1, 2, 3, 4]

list.append( )

appendメソッドは、リストクラスのメソッドです。

appendメソッドは、引数をリストに追加します。

appendメソッド

appendメソッドを使うときは、手前にリスト名を書きます。

appendメソッドの後には、リストに追加したいものを引数に入れます。

# リスト「check_list」を作成
check_list = [1,2,3,4,5]
print(check_list)
# => [1,2,3,4,5]

# appendメソッドで要素「10」を追加する
check_list.append(10)
print(check_list)
# => [1,2,3,4,5,10]

format( )

formatメソッドは、strクラスのメソッドになります。

文字列の途中に、変数の値や文字列を埋め込むことができます。

    print("up [{}]".format(list[i+1]-list[i]))

上記のコードのように、文字列中に{ }を書き、そこに埋め込む値を文字列のあとにformatメソッドの引数として与える。

下記のようにすると、複数の値を文字列中に埋め込むことができます。

    print("1,2,3,{},5,6,{},8,9,{}".format(4,7,10))

formatメソッドの引数を順番どおりに、{}に入れていきます。

  • この記事を書いた人
  • 最新記事

Maita Tomoya / yone

2020.4~Webアプリケーションエンジニアとして都内の企業で働き、空いている時間でブログを運営している29歳男です。本ブログは情報の整理をするため、文章を書く機会を作るために始めました。1記事でも多く「誰かのためになる記事」を書けるように頑張ります!転職前は地方の高校で働いていました。教育関係の記事も定期的に書いていきたいと思います。

-Python, 技術ログ