2012-06-14 4 views
0

변수에 대해 특정 값을 설정하려고합니다. 변수는 16 진수 색상이 녹색, 빨간색, 파란색, OR 녹색과 빨간색, 파란색과 빨간색 또는 녹색과 파란색인지 결정하기위한 것입니다.설정 값보다 작거나 같음

뭔가 그냥 빨간색 대 녹색과 빨간색하거나 녹색 뭔가가 등 녹색과 빨간색으로 자격이 될 수있는 특정 수의 범위를 가지고 있는지 확인하려면 설정하려고 값 ...

EG : FF0000 = 빨간색. A1A100 = 빨강 및 녹색, A1C124 = 빨강 및 녹색. 그냥 그 코드를 실행한다면

if 
Red > Green or \ 
Red = Green and \ 
Red > Blue 
    print red and green. 

이 분명 빨간색 아무것도 또한 녹색과 적색으로 나올 것 때문에 말을 어렵 기 때문에

내 A1C124 코드 내 스크립트에 문제가있는 것입니다.

대신 녹색으로 표시 될 수있는 범위보다 더 큰 표시로 제한을 설정하려고합니다. 그 반대도 마찬가지입니다. 그런 일이 일어나려면 범위를 설정해야합니다. 의 라인을 따라

뭔가 :

redGreen = green +1 
redGreen2 = green -1 
redGreen3 = green + 2 
redGreen4 = green - 2 

그리고 나는 종류의이 같은 코드를 설정합니다 :

if red > blue and \ 
    green > blue: 
    redGreen = green +1 
    redGreen2 = green -1 
    redGreen3 = green + 2 
    redGreen4 = green - 2 
    print "This colour is red and green" 

그러나이 문제가.

위의 코드는 + 1을 +2로 대체하고 음수 값도 같기 때문에 나에게이 사실을 가르쳐주는 자습서를 이해할 수는 없습니다.

그래서 범위를 설정하는 방법을 아는 사람이 있습니까? 또는 더 나은 방법이 있다면, 그것이 무엇인지 설명해 주시겠습니까?

+4

Downvoters : downvote 버튼을 클릭하기 만하면 유용하지 않습니다. ** 당신이 코멘트에 왜 downvoted ** ** 지정해야합니다. 그렇게하면 사용자는 상황이 SO에서 작동하는 방식을 배우고 질문을 업데이트하거나 향후 더 나은 질문을 할 수 있습니다. – mgilson

+0

글쎄, 나는 정말로 그들을 비난 할 수 없다고 생각한다. 인간은 편견을 가진 존재입니다. 그것이 내가 공식 언어 인 나라에서 언어를 매우 나쁘게 말한다면 많은 사람들이 나를 싫어할 것입니다. 나는 그것이이 웹 사이트에서 같다고 생각한다. 나는 왜 내가 아래 표를 얻었는지에 관해 약간의 피드백을 얻었 으면 좋겠지 만. 내가 그 질문에 대해 분명하지 않습니까? 당신이 상처를 입었다 고 잘못 코딩했기 때문입니까? 아니면 내가 인터넷에 숨어있는 슬프고 우울한 트롤의 표적이 된 것입니까? 나는 말할 수 없다. –

+0

@AjEntity : 개인 공격으로 다운 보트를 착각하고 있습니다. 그들은 그렇지 않습니다. 그리고 아무도 귀하의 게시물로 인해 불쾌감을 얻지는 않을 것입니다 - 그것에 대해 모호하게 불쾌감을주는 것은 없습니다. –

답변

4

나는 틀림없이 귀하의 게시물을 완전히 따라 할 수 없습니다. 그러나 문제의 색상을 HSV space으로 변환하고 색조 값만 보는 것은 사용자가하려는 작업을 간소화합니다.

파이썬은이 변환을 수행하기 위해 colorsys.rgb_to_hsv() 함수를 제공합니다.

+0

천재입니다. 나는 그 기능이 존재한다는 것을 몰랐다. 그것에 대한 튜토리얼이 있습니까?그 특정 코드로 인터넷 검색을 시도했지만 사용법을 찾을 수 없었습니다. –

+0

@AjEntity : 링크 된 문서 맨 아래에 예제 코드가 있습니다. 연결된 위키피디아 페이지는 HSV 색상 공간을 설명합니다. 위키 피 디아 페이지에 대한 설명이 너무 상세 할 수 있으므로 Google에서이 용어를 검색 할 수도 있습니다. 'colorsys' 모듈은 모든 색상 공간에 대해'0.0'에서'1.0' 범위의 부동 소수점 값을 사용합니다. –

+0

@Aj 엔티티 : Sven의 코멘트에 대해 좀 더 자세히 설명하기 위해,'colorsys' 모듈의 함수에 의해 예상되고 반환되는 "h"색조 값은 자주 사용되는 0..360도 각도 범위에 있지 않습니다 colorspaces에 대한 기사에서. – martineau

관련 문제