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
提交
取消