まだまだ初心者なのでアドバイスがもらえたら嬉しいです。
さて、本題に入ります。ここではpythonを使ったn個の数字の中から最大値を探すアルゴリズムを作成していきます。アルゴリズムはできるだけ自分で考えました。意外と最大値を探すアルゴリズムを作るだけでも一苦労です。。。アルゴリズム難しい!!!
以下が私が作ったアルゴリズムです(コード雑ですみません!)
num = int(input("何個数値を代入しますか?"))
i = 0
value_list = [] #数値を格納する配列を用意する
while i < num:
value = int(input("数値を代入して下さい"))
value_list.append(value) #用意したリストに値を追加していく
i += 1
max_value = 0 #最大値を0で初期化
i = 0
while i < num:
if value_list[i] >= max_value: #格納した数値を順番に比較していく
max_value = value_list[i]
i += 1
print(max_value) #最大値を出力
フローを説明していきます
num = int(input("何個数値を代入しますか?"))
i = 0
value_list = [] #数値を格納する配列を用意する
while i < num:
value = int(input("数値を代入して下さい"))
value_list.append(value) #用意したリストに値を追加していく
i += 1
ここでn個(比較する数値の個数)を入れていきます。まとめて数値を扱うためにリストを使いました。これでn個の値を格納することができます。append()はpythonのデフォルトで入っているメソッドです。これでからの配列に数値を加えていくことができます。
※タプルをつかってしまうとタプルで組まれたイテラブル(配列みたいなもの)は変更加えれないので、要素の使いができなくなってしまうので注意
max_value = 0 #最大値を0で初期化
i = 0
while i < num:
if value_list[i] >= max_value: #格納した数値を順番に比較していく
max_value = value_list[i]
i += 1
ここでは、リストに格納された数値を順番に取り出し比較していくのですが、先に最大値を0で初期化しておきます。そして、順番に比較して最大値候補よりも大きい値が見つかればその数値は最大値の候補に再設定します。そして、最後に最大値を出力して終わりです。
いかがでしたか?意外にも最大値を探すアルゴリズムはプログラミング初心者にとっては難しいものでした。ほんとにエンジニアの方々はすごいと思います。尊敬です。