Python newbie burada, 2.7 çalışıyor.İşlev, yazdırma ile yinelenir, ancak geri dönülmez
Metin oluşturmak için bir işlev kullanan ve ardından işlev tarafından oluşturulan metni bir dosyaya gönderen bir program oluşturmaya çalışıyorum.
sadece (bunun gibi: http://codepad.org/KftHaO6x) powershell işlevini baskı,:
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 böyle) bir dosyaya çıkışa işlevi çalışırken, bu dolaşır ben bunu istediğiniz gibi
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()
Bu neden olduğunu ve (o baskı ile yaptığı gibi) nasıl çıktı fonksiyonu iterate yapabilirsiniz: sadece yani yineleme değil, 1 değerini verir?
'return' deyimi ** ** fonksiyonu (? gibi en (tümü) dilde) sonlandırır –
Hamish'e buradaki asıl kodu sorduğunuz için teşekkürler ... –
Biraz geri adım atıyorsunuz, kod oluşturma kullanıyorsunuz. Neden kodu doğrudan çalıştırmıyorsunuz?Ya da daha büyük göreviniz hakkında bir şey söyleyin? –