1から50までの自然数の和を計算するプログラムを書いて、最後の計算結果を表示させるプログラムを書いてください。ただし、Numpyを使ってください。
まずはnumpyをインストール。以後、npとして呼び出しします。
import numpy as np
np.arangeで配列を作成
sample_array = np.arange(50) sample_array
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49])
np.arangeでは1つだけ数字を指定すると、0から指定した数字の1つ前までの連番配列を作ります。50なので、0から49までの配列ができました。
配列に1を足す
sample_array=sample_array+1 sample_array
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50])
sample_array+1で作った配列に1を足すと、全ての要素に1が足され、1から50の配列ができます。
あとはsum関数で要素全ての和を計算すればできあがり。
sum(sample_array)
1275
forループを使うよりすっきり簡単。
変数を使わなくても、printの中で計算することもできます。これだと1行で計算できる。
print(sum(np.arange(50)+1))
1275
最初から1から50の配列を作りたい場合はこのようになります。
np.arange(1,51)
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50])
1つめの因数が配列の始めの数字、2つ目が最後の数字+1になります。pythonでは、0から始まって指定した数の1つ前(51と指定すると50)で終わることに注意。これ、なかなか慣れずによく失敗します。
参考:
東京大学グローバル消費インテリジェンス寄付講座
http://gci.t.u-tokyo.ac.jp/
東京大学松尾研 GCIデータサイエンティスト育成講演習コンテンツ 公開ページ
http://weblab.t.u-tokyo.ac.jp/gci_contents/
プログラミング学習:東京大学のデータサイエンティスト育成講座(GCI)の演習コンテンツ
https://eneprog.blogspot.com/2018/04/python10gci-chapter1.html
プログラミング学習:10までの素数を表示させる。(python GCI chapter1) https://eneprog.blogspot.com/2018/04/python10gci-chapter1.html
0 件のコメント:
コメントを投稿