アルゴリズムの勉強を一からやるために伊藤静香さんの「アルゴリズムを、はじめよう」を買った。
本の中ではC言語でサンプルが書かれているけど、自分がいつも使っているPythonで書く練習をしてみた。
第4章:線形探索法のアルゴリズム
4,2,3,5,1という数字の中から5という数字をリニアサーチのアルゴリズムで発見するという問題。
#!/usr/bin/env python
#-*- coding: utf-8 -*-
def main():
list = [4, 2, 3, 5, 1]
ans = -1
num = int(raw_input("Input the number."))
for n, e in enumerate(list):
if e == num:
ans = n
break
if ans == -1:
print "The number doesn't exits."
else:
print "The number is in the list[%d]." % ans
if __name__ == '__main__':
main()
間違いや改善方法など、何でもご意見いただければ嬉しいです。
for~elseを使ったスッキリと改良したものはこちら。