我寫了一小段代碼到嘗試來創建一個圖像,每個Y值只有一個黑點,但是它會爲每個Y值創建一個以上的黑點。圖像 - >for循環做奇怪的事情python
圖像很小,但您可以看到每個Y值可以有多個黑點。實際的代碼:
from PIL import Image
from random import *
from math import *
white = (255,255,255)
black = (0,0,0)
width = 50
height = 10
num = 0
def line(num):
mylist = []
a = Image.new("RGB", (width, height))
for row in xrange(width):
dot = False
for col in xrange(height):
rand = random()
b = float(col)/(width-1)
if b > rand and not dot:
mylist.append(black)
dot = True
else:
mylist.append(white)
a.putdata(mylist)
a.save("boop"+str(num)+".png")
line(num)
通常,當它附加一個黑點,dot
變得真實,所以不能有像素的下一行之前的另一個黑點。爲什麼這不起作用?
歡迎StackOverflow的。請閱讀並遵守幫助文檔中的發佈準則。 [最小,完整,可驗證的示例](http://stackoverflow.com/help/mcve)適用於此處。在發佈您的MCVE代碼並準確描述問題之前,我們無法爲您提供有效的幫助。 我們應該能夠將發佈的代碼粘貼到文本文件中,並重現您描述的問題。 – Prune
調試線路的輸出在哪裏?如果沒有其他的東西,你應該插入一些戰略性地放置的'print'語句,並在生成它們時轉儲這些點。看到這個可愛的[debug](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)博客尋求幫助。 – Prune
目前還不清楚你在問什麼。當你找到一個黑點時,也許在你的for循環中使用'continue'?隨機數的目的是什麼?看起來你的代碼被設置爲接受違反我所瞭解的是你的標準,並有一些隨機的可能性。 – roganjosh