2017-03-18 5 views
1

私のプログラムは色を入力することに依存しているため、文字列が色を定義しているかどうかを調べる方法を探しています。これどうやってするの?ここではいくつかの例は以下のとおりです。文字列が色を定義しているかどうかを確認します

check_color("blue") > True 
check_color("deep sky blue") > True 
check_color("test") > False 
check_color("#708090") > True 
+0

有効な色名のリストはどこから取得しますか? – Anonimista

答えて

2

可能な方法の1つは、colourパッケージを使用することです。あなたがそれを持っていない場合は、コマンドpip install colourをインストールしてください。次に、以下を使用できます。

from colour import Color 

def check_color(color): 
    try: 
     # Converting 'deep sky blue' to 'deepskyblue' 
     color = color.replace(" ", "") 
     Color(color) 
     # if everything goes fine then return True 
     return True 
    except ValueError: # The color code was not found 
     return False 

check_color("blue") 
check_color("deep sky blue") 
check_color("test") 
check_color("#708090") 
0

あなたはこのようなものを使用する必要があります可能性があります

import re 
VALID_COLORS = ['blue', 'red'] 
HEX_COLOR_REGEX = r'^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$' 

def is_hex_color(input_string): 
    regexp = re.compile(HEX_COLOR_REGEX) 
    if regexp.search(input_string): 
     return True 
    return False 

def is_color(input_string): 
    for color in VALID_COLORS: 
     if color in input_string or is_hex_color(input_string): 
      return True 
    return False 
0

外部モジュールを使用できます。ピップとカラーモ​​ジュールをインストールします。

pip install colour 

次に、あなたが行うことができます:

>>> from colour import Color 
>>> name = "blue" 
>>> try: 
     Color(name.replace(" ","")) 
     print("Valid Color") 
except: 
    print("Invalid color") 

を色が見つからない場合には例外が発生しますので。

heres a small documentation of the module

関連する問題