我想创建一个表,该表具有与该特定时间对应的特定数组增量。例如:
n sec
100 0.2
200 0.4
etc..
Y是特定数组的尝试次数,n是数组大小,增量是特定增量
if sortfunction==1:
i=0
while i<y:
dt=0
for i in range(n):
i=i+increment
dt+=sort_timehelp(x,quick_sort)
output="%d %f\n" %(i,dt)
print output
例如,如果我将N设为1000并增加100,那么它看起来就像上面的表格。
现在我得到:
n sec
100 0.001
101 0.0012
102 0.0014
等它由1增加而不是增量大小
编辑: 我有另一个问题:为什么这样做而循环不会更多次?
i=0
while i<y:
i=i+1
dt=0
for i in xrange(increment, n+increment, increment):
dt+=sort_timehelp(x, quick_sort)
output="%d %f\n" %(i,dt)
print output
我是阵列测试的数量。 为什么它没有例如2次
编辑:没关系我用于循环。 我有一个最后一个问题。 如果我有很多这样的if语句只是差异是一个sortfunction,那么如何将所有这些东西保存到文件中,因为当我尝试它时只会保存最后一个打印的语句
#
saving=input("You want to save data ? type 0 to continue or 1 to save " )
if saving == 0:
continue
if saving == 1:
ask=raw_input("Type the name file: ")
fileout=open(ask+".csv","a")
fileout.write(output)
fileout.close()
“保存”的缩进与sortfunction
相同答案 0 :(得分:2)
range(n)函数返回一个列表[0,1,2,...],然后for循环迭代。所以,当我为0并且你做i=i+increment
时,你的i(100)的值被抛弃,并被替换为列表的下一个元素 - 即1。
您可以尝试for i in range(increment,n+increment,increment)
,然后删除for block中的第一行。范围函数本身将在循环的每次迭代中添加increment
- 即我将为100,200,300,...,1000
答案 1 :(得分:0)
for i in xrange(increment, (n+1)*increment, increment):
dt+=sort_timehelp(x,quick_sort)
output="%d %f\n" %(i,dt)
print output