#実現したいこと
10種類の疑似乱数をバブルソートで実行。
その実行時間をしりたい。
#エラーメッセージ
t=timeit.Tiimer("Bublesort(Random_method(float(line)))")
IndentationError:expected an indented block
#該当のソースコード
python
1#バブルソート 2def Bublesort(a): 3 k=len(a)-1 4 for i in range(k): 5 for j in range(k,i,-1): 6 if a[j]<a[j-1]: 7 t=a[j] 8 a[j]=a[j-1] 9 a[j-1]=t 10 return a 11 12#乱数を生成する関数 13def Random_method(r): 14 N=100 15 M=10 16 x=[] 17 a=1229 18 c=351750 19 m=1664501 20 21 for i in range(N): 22 r=float((a*r+c)%m) 23 x.append(r/m) 24 return x 25 26import timeit 27 28#ファイルオープン 29with open("s_num.txt",encoding="utf-8") as tf: 30 for line in tf:#1行ずつ 31#ファイルの中身をRandom_methodに入れてBublesortしたものの時間をはかる 32t = timeit.Timer("Bublesort(Random_method(float(line)))") 33 print t.timeit(1)
乱数を生成するのに使われる変数rの値は違うファイルから取り出している。
ファイルには300~310までの数値がかかれており、その値がRandom_methodに入力されている。
ここでは10種類の疑似乱数を生成し、それらをバブルソートで並び替えている。
rand()でも乱数を生成することができるが、今回は上記の方法を取った。
#メッセージ
pythonについてど素人で、できるだけ簡単に詳しく教えてもらえるとありがたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/23 10:19
2016/11/23 14:03