python 新手,我被困在本練習的最后一步 如何添加print_pixel_info(self):檢查 3 個顏色值中的 2 個是否等于 0,然后打印第三個不是 0 的值?程序現在打印:X: 5,Y: 6, 顏色: (250,0,0)X: 5,Y: 6, 顏色: (83,83,83)目標是打?。海ㄔ谶@種情況下,紅色為 250 綠色,藍色為 0,因此打印“紅色”,如果值為 (0,250,0),則應改為打印“綠色”)X: 5, Y: 6, 顏色: (250, 0, 0) 紅色X: 5, Y: 6, 顏色: (83, 83, 83)**class Pixel: def __init__(self, x = 0, y= 0, red = 0, green = 0, blue = 0): self._x = x self._y = y self._red = red self._green = green self._blue = blue def set_coords(self, x, y): self._x = x self._y = y def set_grayscale(self): average = (self._red + self._blue + self._green)/3 self._red = int(average) self._blue = int(average) self._green = int(average) **def print_pixel_info(self): print("X: {},Y: {}, Color: ({},{},{}) {}".format(self._x,self._y,self._red,self._green,self._blue))**def main(): p = Pixel(5, 6, 250) p.print_pixel_info() p.set_grayscale() p.print_pixel_info()main()謝謝,希望我的問題以其他人可以理解的方式解釋大聲笑
1 回答

慕斯王
TA貢獻1864條經驗 獲得超2個贊
你可以print_pixel_info()像這樣修改你的東西:
def print_pixel_info(self):
color = ""
if self._red == 0 and self._green == 0:
color = "Blue"
elif self._green == 0 and self._blue == 0:
color = "Red"
elif self._red == 0 and self._blue == 0:
color = "Green"
print("X: {},Y: {}, Color: ({},{},{}) {}".format(self._x,self._y,self._red,self._green,self._blue, color))
正如您沒有提到當 2 種顏色不為零時應該顯示什么。color您可以在上面的代碼中添加一個默認值。
添加回答
舉報
0/150
提交
取消