मेरे पास एक पायथन (2.7) कक्षा के भीतर एक फ़ंक्शन है जो 2 आयामी numpy सरणी में इसके चारों ओर 'कक्ष' के मानों को पुनर्प्राप्त करना चाहिए। यदि सूचकांक सीमा से बाहर है, तो मैं मूल्य को किसी के रूप में सेट नहीं किया जाना चाहिए।कोई भी सेट न करें अगर numpy सरणी अनुक्रमणिका मौजूद नहीं है
मैं 8 कोशिश/पकड़ बयान लिखने के बिना ऐसा करने का कोई तरीका ढूंढने के लिए संघर्ष कर रहा हूं, या एकाधिक का उपयोग किए बिना x अन्य कोई भी कथन नीचे दिए गए मेरे कोड में नहीं है। जबकि वे दोनों काम करेंगे, वे बहुत अच्छी तरह से संरचित प्रतीत नहीं होते हैं, और मैं सोच रहा हूं कि ऐसा करने का एक आसान तरीका होना चाहिए - मैं शायद इस बारे में पूरी तरह से गलत तरीके से सोच रहा हूं। कोई भी सहायताकाफी प्रशंसनीय होगी।
# This will return a dictionary with the values of the surrounding points
def get_next_values(self, column, row):
if not (column < self.COLUMNS and row < self.ROWS):
print "Invalid row/column."
return False
nextHorizIsIndex = True if column < self.COLUMNS - 2 else False
nextVertIsIndex = True if row < self.ROWS - 2 else False
n = self.board[column, row-1] if column > 0 else None
ne = self.board[column+1, row-1] if nextHorizIsIndex else None
e = self.board[column+1, row] if nextHorizIsIndex else None
se = self.board[column+1, row+1] if nextHorizIsIndex and nextVertIsIndex else None
s = self.board[column, row+1] if nextVertIsIndex else None
sw = self.board[column-1, row+1] if nextVertIsIndex else None
w = self.board[column-1, row] if row > 0 else None
nw = self.board[column-1, row-1] if 0 not in [row, column] else None
# debug
print n, ne, e, se, s, sw, w, nw
नकारात्मक सूचकांक लपेटने के लिए देखें ...! – wim
यह मेरे लिए नहीं हुआ था, धन्यवाद! – Adam