見出し画像

中学の数学 (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を見てください。

図1. 関数

関数とは,ある値を与えられたら(インプットされたら),計算をして,計算結果を返す(アウトプットする)はたらきをもつものをいいます。

この場合でしたら,100 という数値を与えられて,計算をし,見つけた約数のリストを返しています。返したものは,次のコードの2行目のように,リストに代入できます。下のコードでは返された結果を l に代入し,3行目で標準出力しています。

l = []
l = divisors(100)
print(l)

関連する書籍

[ サイトマップを見る ]

この記事が気に入ったらサポートをしてみませんか?