Tôi đã nhìn chằm chằm vào một đoạn mã Python mà tôi đã tạo ra, mặc dù chính xác, là xấu. Có cách nào khác để làm điều này không?Cách thức lặp lại một cách gọi phương thức trên các đối số hữu hạn khác nhau
r = self.get_pixel(x,y, RED)
g = self.get_pixel(x,y, GREEN)
b = self.get_pixel(x,y, BLUE)
t = function(r,g,b)
if t:
r2, g2, b2 = t
self.set_pixel(x,y,RED, r2)
self.set_pixel(x,y,GREEN, g2)
self.set_pixel(x,y,BLUE, b2)
Vấn đề là sự lặp lại của phương pháp này đòi hỏi phải get_pixel
và set_pixel
. Để biết thông tin của bạn:
RED, GREEN, BLUE = range(3)
Cũng lưu ý rằng tôi muốn giữ nguyên độ rõ nét và độ sạch của mã.
-1 này được chỉ thêm cách giải quyết xấu xí đến một API xấu xí. Đó là thời gian thiết kế lại API - xem câu trả lời của @Muhammad Alkarouri, hoặc của tôi. –
@John Machin: Xin lỗi tôi đã đề cập đến điều đó. Kế hoạch của tôi trước tiên là đưa ra một câu trả lời cụ thể cho câu hỏi chính xác và sau đó xử lý bức tranh lớn hơn và giải thích các phương pháp thay thế. Nhưng trong khi tôi đang gõ phần đầu tiên, những người khác đã đánh tôi đến phần thứ hai.Tôi không chỉ muốn sao chép chính xác cùng một thông tin mà những người khác đã đăng trong bài đăng của tôi vì vậy tôi chỉ để lại nó vì nó không có ai trả lời câu hỏi. Bây giờ tôi thấy câu trả lời của tôi đã được chấp nhận và tôi không thể xóa câu trả lời của mình. Vì vậy, tôi đã đưa câu trả lời của bạn vào bài đăng của tôi. Ổn chứ? Hoặc bạn đề nghị tôi nên làm gì? –
Tôi sẽ nói theo mẫu phiếu bầu mà giới thiệu của bạn cho câu trả lời khác là làm việc hay không cần thiết, vì vậy tôi không nghĩ bạn nên lo lắng về nó ngay bây giờ. Và cảm ơn vì đã đề cập đến tôi là "những người khác đánh tôi" :) –