तो मैं बाढ़ भरने वाले एल्गोरिदम बनाने की कोशिश कर रहा हूं और मुझे इसके साथ एक रिकर्सन त्रुटि मिल रही है। एल्गोरिदम में अनंत रिकर्सन लगता है और मैं क्यों नहीं तय कर सकता हूं। मैंने पूरे इंटरनेट पर देखा है और मुझे कोई समाधान नहीं मिल रहा है क्योंकि ऐसा लगता है कि मेरे कार्यक्रम की तरह अधिकांश स्रोतों के अनुसार सही है। हालांकि कुछ गलत लगता है। यह कोड का संपादित संस्करण है। त्रुटि संदेश अभी भी अधिकतम रिकर्सन है।बाढ़ भरें एल्गोरिदम पाइथन
क्या मुझे कुछ मदद मिल सकती है?
from Tkinter import *
from PIL import Image, ImageTk
from random import *
w= 75
h= w
flood = Image.new("RGB", (w,h), (0,0,0))
x = 0
y = 0
count = 0
colorlist = []
i = 0
while x < w -1:
y = 0
while y < h-1:
r = random()
if r < .25:
flood.putpixel((x,y), (0,0,0))
else:
flood.putpixel((x,y), (255,255,255))
y += 1
x += 1
x = 0
y = 0
while x < w-1:
y = 0
while y < h-1:
r = random()
if x == 0 or y == 0 or x == w-1 or y ==h-1:
flood.putpixel((x,y), (0,0,0))
y += 1
x += 1
def floodfill(x,y, d,e,f, g,h,i, image, count):
count+=1
(a,b,c) = image.getpixel((x,y))
if (a,b,c) == (255,255,255):
(j,k,l) = image.getpixel((x-1,y))
(m,n,o) = image.getpixel((x+1, y))
(p,q,r) = image.getpixel((x,y-1))
(s,t,u) = image.getpixel((x,y+1))
if count > 990:
return
if (a,b,c) == (255,255,255):
image.putpixel((x,y), (g,h,i))
floodfill(x-1, y, d,e,f, g,h,i, image, count)
floodfill(x+1, y, d,e,f, g,h,i, image, count)
floodfill(x, y-1, d,e,f, g,h,i, image, count)
floodfill(x, y+1, d,e,f, g,h,i, image,count)
floodfill(2,2, 0,0,0,255,0,0,flood, 0)
flood.save("flood.png")
print "done"
कृपया जो सटीक त्रुटि संदेश आप देख रहे हैं उसे प्रदान करें। –
रनटाइम त्रुटि: पाइथन ऑब्जेक्ट – user1541756
पर कॉल करते समय अधिकतम रिकर्सन गहराई पार हो गई है, आप एक्स के लिए जांच नहीं कर रहे हैं, वाई सीमाओं से बाहर है - जो एक अनंत रिकर्सन का कारण बन सकता है क्योंकि एक्स तेजी से बायीं तरफ जाता है। या क्या आप अपनी सीमाओं की देखभाल करने की उम्मीद कर रहे हैं? – user1277476