为了账号安全,请及时绑定邮箱和手机立即绑定

Python OOP if 语句

Python OOP if 语句

慕莱坞森 2022-11-01 17:08:55
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您可以在上面的代码中添加一个默认值。


查看完整回答
反对 回复 2022-11-01
  • 1 回答
  • 0 关注
  • 121 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号