2013-04-05 5 views
-1

Что мне нужно добавить во вторую инструкцию def, чтобы она работала?Вложенные defs не работают

def main(): 
    # the user has to choose a picture and then he is asked to 
    pic = makePicture(pickAFile()) 

    # the user is asked to select a color that he wants to remove from a picture 
    color = requestString("Which color would you like to remove?") 
    show(pic) 

    # whats wrong with this last part that doesn't make the modifications to the picture 
    def RemoveColor(pic, color): 
     r = red 
     g = green 
     b = blue 
     for px in getPixels(pic): 
      setRed(px, 0) 

     for px in getPixels(pic): 
      setGreen(px, 0) 

     for px in getPixels(pic): 
      setBlue(px, 0) 

    repaint(pic) 
+1

Для того, чтобы кто-то сможет помочь вам, вы должны описать свой специфический проблема. Этот фрагмент кода ссылается на множество неопределенных функций. –

+0

В отношении несвязанной заметки вы можете указать [PEP8] (http://www.python.org/dev/peps/pep-0008/), руководство по стилю Python, чтение. –

+0

вы определяете removeColor, но вы никогда не вызываете функцию. – furins

ответ

0

здесь я вынимаю RemoveColor функцию из вашей main функции, и я называю это внутри main

def RemoveColor(pic, color): 
    r = red 
    g = green 
    b = blue 
    for px in getPixels(pic): 
     setRed(px, 0) 

    for px in getPixels(pic): 
     setGreen(px, 0) 

    for px in getPixels(pic): 
     setBlue(px, 0) 

def main(): 
    # the user has to choose a picture and then he is asked to 
    pic = makePicture(pickAFile()) 

    # the user is asked to select a color that he wants to remove from a picture 
    color = requestString("Which color would you like to remove?") 
    show(pic) 

    RemoveColor(pic, color) # HERE I'M CALLING RemoveColor 
    repaint(pic) 
+0

@furins .. спасибо за сообщение. У меня есть еще один вопрос. почему RemoveColor (pic, color) не работает, программа проходит через инструкции «для», но она убирает весь цвет и перекрашивает его в черный цвет. как мне получить его, чтобы удалить только тот цвет, который был запрошен? – EsJe

+0

@EsJe, пожалуйста, дайте мне знать, какие библиотеки вы используете, и я попытаюсь ответить ... какая библиотека/модуль определяет 'getPixel'? – furins

+0

@fusins ​​Я не понимаю, что вы подразумеваете под модулями или библиотекой, так как я новичок в программировании. как вы думаете, вы можете быть немного более конкретным? – EsJe

Смежные вопросы