中学の数学 (7-4) 約数を python で探そう
[ サイトマップを見る ]
Python で約数をさがそう
リストを学ぶ
前回は,約数を探す関数を作りました。次のコードを作成しました。
import math
def divisors(n):
print("1")
for i in range(2, math.floor(n/2)+1):
if n % i == 0:
print(i)
print(n)
divisors(100)
上のコードは,見つけた約数を標準出力しているだけですが,見つけた約数をまとめてとっておき,あとで使いたい場合があります。
その場合はリストを使います。
リストとは複数の要素をまとめたものをいいます。
例えば,100 の約数は 1, 2, 4, 5, 10, 20, 25, 50, 100 の9個です。これら9個の要素に l という名前をつけ,まとめておくことができます。次のように書きます。
l = [ 1, 2, 4, 5, 10, 20, 25, 50, 100 ]
初期化
何もないリストを作ることもできます。
l = []
付け加える
付け加えることもできます。
l = []
l.append(1)
上のようにすると,空だったリスト lに 1 が追加されます。
前回作成コード,単純に見つけた約数を標準出力するだけでした。このリストを使うと,とっておいて再利用できます。
次のように書くことができます。
import math
def divisors(n):
l = []
l.append(1)
for i in range(2, math.floor(n/2)+1):
if n % i == 0:
l.append(i)
l.append(n)
return(l)
l = []
l = divisors(100)
print(l)
4行目では,空のリスト l を作っています。
5行目では,リスト l に 1 を入れています。
8行目では,みつけた約数をリストlにいれています。
9行目では,リストlにnを入れています。
そして,10行目で,作成したリストを return を使って返しています。
返すとはどういうことでしょうか。図1を見てください。
関数とは,ある値を与えられたら(インプットされたら),計算をして,計算結果を返す(アウトプットする)はたらきをもつものをいいます。
この場合でしたら,100 という数値を与えられて,計算をし,見つけた約数のリストを返しています。返したものは,次のコードの2行目のように,リストに代入できます。下のコードでは返された結果を l に代入し,3行目で標準出力しています。
l = []
l = divisors(100)
print(l)
関連する書籍
[ サイトマップを見る ]
この記事が気に入ったらサポートをしてみませんか?