見出し画像

[Python]再帰 vs ループ

1.再帰 vs ループ

1から10までを出力する事に対して、再帰とループそれぞれを使いどれぐらい時間がかかるか比べてみます。

2.コード

from time import time

#再帰
def raise_up_by_rec(num):
    print(num)
    if num >= 10:
        print("count up!")
        return
    else:
        raise_up_by_rec(num + 1)
#ループ
def raise_up_by_loop(num):
    for i in range(1, num + 1):
        print(i)
    print("count up!")

#再帰時間計測
rec_st_time = time()
raise_up_by_rec(1)
rec_ed_time = time()
rec_time = rec_ed_time - rec_st_time

#ループ時間計測
lop_st_time = time()
raise_up_by_loop(10)
lop_ed_time = time()
lop_time = lop_ed_time - lop_st_time

print(f"再帰:{rec_time}[s]")
print(f"ループ:{lop_time}[s]")

3.実行結果

1
2
3
4
5
6
7
8
9
10
count up!
1
2
3
4
5
6
7
8
9
10
count up!
再帰:0.0001239776611328125[s]
ループ:5.1021575927734375e-05[s]

ループはコンピュータを喜ばせ、再帰は人を喜ばせるという事なのでしょうか。


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