2015-01-12 3 views
0

Целью задания является совместное выполнение двух функций или, например, включение функции setPixeltoBlack в setPicturetoblack.Вложение одной функции другой Jython

ошибка вполне очевидна:

The error was:'javainstance' object has no attribute '__call__' 
Attribute not found. 
You are trying to access a part of the object that doesn't exist. 
Please check line 10 of /Users/tobiasdouglas/test3 

Основной вопрос: Как один попросить компьютер, чтобы проверить, что две переменные (XPOS, YPos) существуют? Я написал pseduocode out (показан с #) желаемого.

Спасибо.

import random 
file=pickAFile() 
picture=makePicture(file) 
show(picture) 
xpos = input("Enternumber") 
ypos = input("Enternumber") 

def setPixelToBlack(getPixel): 
#if xpos and ypos = known 
    setColor=(getPixel(picture,xpos,ypos),black) 
#else 
    #setcolor=(getPixels(picture), black) 
    explore(picture) 
    return 

def setPictureToBlack(picture): 
    for p in getPixels(picture): 
    setPixelToBlack(p) 

ответ

0

Вы можете использовать specal значение None и проверить, если переменная None с is None или is not None.

xpos = None 
ypos = None 

// some code that may set xpos or ypos 

def setPixelToBlack(getPixel): 
    if xpos is not None and ypos is not None: 
     setColor=(getPixel(picture,xpos,ypos),black) 
    // ... 

Также в вашем коде xpos и ypos являются глобальными переменными. Вы можете читать их в функциях, но для изменения его значений вам нужно будет использовать оператор global xpos, ypos.

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