Python新手在这里,运行2.7。函数迭代打印但不返回
我正在尝试创建一个程序,该程序使用函数来生成文本,然后将函数生成的文本输出到文件中。
如果只是打印在PowerShell中的功能(如下:http://codepad.org/KftHaO6x),进行迭代,因为我希望它:
def writecode (q, a, b, c):
while b < q:
b = b + 1
print "v%d_%d_%d = pairwise (caps[%d],sals[%d],poss[%d],poss[%d],poss[%d],pos_range)" %(a,b,c,a,a,a,b,c)
print "votes%d_%d.append(v%d_%d_%d)" % (b,c,a,b,c,)
print "v%d_%d_%d = pairwise (caps[%d],sals[%d],poss[%d],poss[%d],poss[%d],pos_range)" %(a,c,b,a,a,a,c,b)
print "votes%d_%d.append(v%d_%d_%d)" % (c,b,a,c,b)
writecode (5,1,0,4)
当试图输出功能到一个文件中(这样的:http://codepad.org/8GJpp9QY)它只提供了1个值,即不重复:
def writecode (q, a, b, c):
while b < q:
b = b + 1
data_to_write = "v%d_%d_%d = pairwise (caps[%d],sals[%d],poss[%d],poss[%d],poss[%d],pos_range)" %(a,b,c,a,a,a,b,c)
data_to_write_two = "votes%d_%d.append(v%d_%d_%d)" % (b,c,a,b,c,)
data_to_write_three = "v%d_%d_%d = pairwise (caps[%d],sals[%d],poss[%d],poss[%d],poss[%d],pos_range)" %(a,c,b,a,a,a,c,b)
data_to_write_four = "votes%d_%d.append(v%d_%d_%d)" % (c,b,a,c,b)
return data_to_write
return data_to_write_two
return data_to_write_three
return data_to_write_four
x = writecode (5,1,0,4)
out_file = open("code.txt", "a")
out_file.write(x)
out_file.close()
这是为什么,我怎么可以使输出功能迭代(如将其与打印一样)?
的'return'声明** **终止函数(如在大多数(全部)的语言吗?):http://docs.python.org/reference/simple_stmts.html#the-return-statement – 2012-08-01 20:17:14
感谢Hamish将实际的代码放在这里的问题中...... – 2012-08-01 20:18:34
回过头来,你似乎在使用代码生成。你为什么不直接执行代码?或者说一些关于你更大的任务? – 2012-08-01 20:23:27