diff --git a/exercicios/buscador.py b/exercicios/buscador.py index f3b6e44..e5a784b 100644 --- a/exercicios/buscador.py +++ b/exercicios/buscador.py @@ -1,3 +1,7 @@ +import sys +import unicodedata + + def buscar(*palavras_chave): """ Busca por caracteres que contenham a palavra chave em seu nome. Ex: @@ -35,3 +39,20 @@ def buscar(*palavras_chave): tupla é o caracter e o segundo é seu nome. Assim ele pode ser utilizado no construtor de um dicionário """ + limite = 0 + max_unicode_value = sys.maxunicode + palavras_upper = [palavra.upper() for palavra in palavras_chave] + while limite < max_unicode_value: + caracter = chr(limite) + try: + unicode_name_upper = unicodedata.name(caracter).upper().split() + except ValueError: + pass + else: + if all( + palavra in unicode_name_upper + for palavra in palavras_upper + ): + yield (caracter, " ".join(unicode_name_upper)) + finally: + limite += 1 diff --git a/requirements.txt b/requirements.txt index 7369cb8..97ad27a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ -requests==2.14.2 +requests==2.16.5 +