Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minha solução para o desafio 06. #1177

Open
wants to merge 25 commits into
base: master
Choose a base branch
from

Conversation

AlexPHorta
Copy link
Contributor

Conforme conversado no Telegram, ainda não tenho certeza se essa solução é adequada, mas vou inserir o PR para que o programa seja executado em um computador mais novo.

Copy link
Member

@mpinheir mpinheir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AlexPHorta se eu executo o progama sem passar argumentos dá erro.
voceê tem que antecipar isso e tratar o erro.

python3 ana.py
Traceback (most recent call last):
File "/home/marcelo/testes-desafios/ana.py", line 221, in
anagrams(sys.argv[1], WORDS)
~~~~~~~~^^^
IndexError: list index out of range

@mpinheir
Copy link
Member

mpinheir commented Jan 8, 2025

@AlexPHorta o programa aqui roda em segundos se eu mando por exemplo gerar anagramas para a palavra vermelho.

@AlexPHorta
Copy link
Contributor Author

@AlexPHorta se eu executo o progama sem passar argumentos dá erro. voceê tem que antecipar isso e tratar o erro.

python3 ana.py Traceback (most recent call last): File "/home/marcelo/testes-desafios/ana.py", line 221, in anagrams(sys.argv[1], WORDS) ~~~~~~~~^^^ IndexError: list index out of range

Sim, vou repassar essas questões de instruções no README, e mais algumas verificações de erro que lembrei. Eu só estava cismado de que minha solução não era adequada (já conferi que há uma aprovada que deixa a minha comendo poeira, mas depois vou ter que estudá-la pra entender o que a pessoa fez lá.

Vou repassar essas outras questões e deixar o programa completo. Obrigado!

@AlexPHorta AlexPHorta requested a review from mpinheir January 10, 2025 23:20
Copy link

PR marcado como obsoleto devido à falta de atividade. Fechamento automático ocorrerá em 5 dias na ausência de nova atividade.

@github-actions github-actions bot added the stale label Jan 22, 2025
@AlexPHorta
Copy link
Contributor Author

Comentando pro bot não me defenestrar.

@github-actions github-actions bot removed the stale label Jan 23, 2025
@AlexPHorta
Copy link
Contributor Author

Pronto, @mpinheir, acredito que agora esteja tudo ok.

@AlexPHorta se eu executo o progama sem passar argumentos dá erro. voceê tem que antecipar isso e tratar o erro.

python3 ana.py Traceback (most recent call last): File "/home/marcelo/testes-desafios/ana.py", line 221, in anagrams(sys.argv[1], WORDS) ~~~~~~~~^^^ IndexError: list index out of range

@mpinheir mpinheir added the python Pull requests that update Python code label Jan 29, 2025
@mpinheir mpinheir self-assigned this Jan 29, 2025
import sys

def translate(text):
text = text.replace("usage", "modo de usar")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dá erro se eu digito números como argumento.
Você tem que tratar isso:
➜ testes-desafios git:(master) ✗ python3 des6.py 902823
Traceback (most recent call last):
File "/home/marcelo/testes-desafios/des6.py", line 318, in
if len(args.termo) == 0:
^^^^^^^^^^

@JamesStewart-314
Copy link
Contributor

JamesStewart-314 commented Feb 4, 2025

Opa, tudo bem @AlexPHorta? Espero que sim!

Muito bem, primeiramente, gostaria de comentar que, após analisar o código, foi um pouco difícil compreender substancialmente a lógica por trás do funcionamento deste programa. Isso definitivamente não é uma crítica negativa, mas um aspecto relativamente surpreendente para mim. Em particular, a abordagem envolvendo partições foi bem insólita e inesperada, pelo menos para mim. Devo reconhecer que foi bastante criativo. 😅

Enfim, vamos prosseguir para o cerne da questão. Após avaliar o código, notei que poderia haver alguns casos extremos não eram considerados pelo programa. Portanto, conduzi alguns testes em minha máquina e conclui que, de fato, há um caso que ainda não está sendo tratado devidamente em seu programa.

  • Considere a seguinte entrada: python .\desafio06.py AAA

segundo as intruções contidas no enunciado do desafio 6 presente no site, o terceiro critério exigido estabelece o seguinte:

3. Imprima todas as combinações possíveis de anagramas (sem repetição de linhas ou palavras). Os anagramas devem conter apenas palavras válidas (lidas do arquivo acima).

Dentro do arquivo words.txt, existe a palavra A. Consequentemente, concorda comigo que o seu programa deveria fornecer a saída:

python .\desafio06.py AAA
A

Todavia, a saída atualmente gerada é:

python .\desafio06.py AAA
Nenhum anagrama encontrado para a expressão: AAA

Logo, acredito que isto seja um caso a ser tratado, salvo engano...

Ademais, acredito que o código lida eficientemente com suas operações e funções. No máximo, poderia sugerir futuramente o uso de RegEx para tratamento de strings de uma maneira mais rebuscada e ledível, apesar de ser um pouco menos eficaz que o uso de conjuntos como está sendo realizado em seu programa. Geralmente, esta abordagem é preferível em strings mais extensas e rotinas utilizadas menos frequentemente, contudo, isso é apenas uma sugestão pessoal e não uma crítica, porque como disse, neste caso, a sua abordagem é até mais eficaz. Entretanto, a julgar pela sua experiência em programação apenas lendo este código, estou quase certo que você possui mais do que ciência de tudo que foi supracitado. ^^

Acredito que por ora isso é tudo, muito obrigado pela atenção e queira perdoar o atraso!!

@AlexPHorta
Copy link
Contributor Author

Opa, @JamesStewart-314 , tudo ok? Pode fazer qualquer comentário, eles são bem vindos!

Realmente, foquei em expressões existentes na língua portuguesa e não reparei que essa limitação não existe. De volta pra prancheta!!!

PS: Confesso que recursão é um calcanhar de Aquiles pra mim. Não tenho problema em enxergar que é uma solução válida ou mesmo melhor, mas a implementação às vezes me escapa. Enfim, foi a solução que encontrei pra não lidar com recursão neste caso, ahahah!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants