从 RGB 中去除灰色。我正在使用珊瑚学习编程+课程的一部分

问题 :

摘要:给定红色、绿色和蓝色的整数值,从每个值中减去灰色。

计算机通过组合红色、绿色和蓝色 (rgb) 子颜色来表示颜色。每个子颜色的值可以在 0 到 255 之间。因此 (255, 0, 0) 是鲜红色,(130, 0, 130) 是中等紫色,(0, 0, 0) 是黑色,(255, 255) , 255) 是白色, (40, 40, 40) 是深灰色。 (130, 50, 130) 是褪色的紫色,由于 (50, 50, 50) 灰色部分。 (换句话说,等量的红色、绿色、蓝色产生灰色)。

给定红色、绿色和蓝色的值,删除灰色部分。

例如:如果输入为 130 50 130,则输出为:

80 0 80

我的代码:

整数 红色

整数 绿色

整数 蓝色

整数灰度

红色 = 获取下一个输入

绿色 = 获取下一个输入

蓝色 = 获取下一个输入

灰色 = 50

如果红色 >= 50 且红色 <= 255

红色 = 红色 - 灰色

将红色输出

elseif 绿色 >= 50 和绿色 <= 255

绿色 = 绿色 - 灰色

把绿色输出

elseif 蓝色 >= 50 和蓝色 <= 255

蓝色 = 蓝色 - 灰色

将蓝色输出

我需要帮助尝试从三个数字的输入中减去最小值,而不仅仅是 50,然后输出这三个整数而不仅仅是第一个整数。

注意:我想使用 'min' 功能,但珊瑚的内置库中没有太多功能。我认为这个挑战希望集中在分支上。

(如果您想帮助我使用它们,我也可以相当阅读和理解 python 和 java 代码)

stack overflow Removing gray from RGB. I am using coral to learn programming + its apart of a course
原文答案

答案:

作者头像
integer red
integer green
integer blue
integer grey

red = Get next input
green = Get next input
blue = Get next input

if red < green and red < blue 
   grey = red
elseif green < red and green < blue
   grey = green
else 
   grey = blue

red = red - grey
green = green - grey
blue = blue - grey

Put red to output
Put " " to output
Put green to output
Put " " to output
Put blue to output
Put " " to output
作者头像

我的孩子,lmk 如果你想要代码解释,一切都应该尽可能简单

red = int(input())
green = int(input())
blue = int(input())

if (red < green) and (red < blue):
    gray = red
elif (green < red) and (green < blue):
    gray = green
elif (blue < red) and (blue < green):
    gray = blue
else:
    gray = red

red2 = (red - gray)
green2 = (green - gray)
blue2 = (blue - gray)

print (red2, green2, blue2)