配列に格納されている数字で一番大きな値が何番目にあるか調べよう


のように複数の数字が入った配列内で一番大きな数字が何番目にあるか調べてみます。

後に使いやすいように、一番大きな数字が何番目にあるか?という関数を作って、



ボタンAで関数が実行されるようにしておきます。

※今回の関数の引数の引数名のリストですが、実際は最初に作成しました数字のリストと同じ配列になりますが、紛らわしくなりますので名前を別にしています。



配列に格納されている数字で一番大きな値を調べようで作成しました一番大きな数字はいくつ?関数を改変します。

順番という変数を用意して、繰り返しの処理を行う度に 1 ずつ足しておきます。

この処理により、繰り返し内で今何回目の処理であるかがわかるようになります。


あとは、一番大きな数字の候補を後進する度に一番大きな数字の位置の変数に何番目の処理であるかを記録します。




今回のコードはMakeCodeにあります配列の中で○が見つかった場所ブロックと前に作成しました一番大きい数字はいくつ?関数を使って



のように大きな数字を調べてから、その数字を頼りに位置を探すという方法も有りです。




今回のコードをMicroPythonで書き換えてみます。

from microbit import *

numbers = [
	5,
	9,
	8,
	2,
	7,
	6
]

def get_max_index(list):
	tempMax = list[0]
	tempPosition = 0
	for pos, i in enumerate(list):
		if i > tempMax:
			tempMax = i
			tempPosition = pos
	return tempPosition

while True:
	if button_a.is_pressed():
		display.show(str(get_max_index(numbers)))
京都の東本願寺で開催されているプログラミング教室で講師をしています。
詳しくはTera schoolを御覧ください。
同じカテゴリーの記事
マインクラフト用ビジュアルエディタを開発しています。

詳しくはinunosinsi/mcws_blockly - githubをご覧ください。